C++ и Borland Interbase или FireBird

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
NayOn
Сообщения: 2
Зарегистрирован: 12 май 2004, 14:31
Откуда: SPb
Контактная информация:

Нужно законектиться к базе и поработать с ней, никто случайно не имел по этому вопросу опывта? Буду рад любым советам и исходникам!!!
rubaxa
Сообщения: 8
Зарегистрирован: 18 окт 2004, 16:46
Откуда: Украина, г.Харьков

Получи...
Конект
if (DM->IBDatabaseA->Connected){
if (DM->IBDatabaseA->DefaultTransaction->InTransaction) DM->IBDatabaseA->DefaultTransaction->Commit();
if (!DM->IBDatabaseA->DefaultTransaction->InTransaction) DM->IBDatabaseA->DefaultTransaction->StartTransaction();
}
if (DM->IBDatabaseA->Connected) DM->IBDatabaseA->Connected=false;
DM->IBDatabaseA->DatabaseName=PathDB;
DM->IBDatabaseA->Params->Clear();
DM->IBDatabaseA->Params->Add("PASSWORD=masterkey");
DM->IBDatabaseA->Params->Add("USER_NAME=SYSDBA");
DM->IBDatabaseA->LoginPrompt=false;
try{
if (!DM->IBDatabaseA->Connected) DM->IBDatabaseA->Connected=true;
DM->IBTransactionA->Active=true;
редактор
DM->IBQueryTempCopy->Close();
DM->IBQueryTempCopy->SQL->Clear();
DM->IBQueryTempCopy->SQL->Add("UPDATE CARD_TABL ");
DM->IBQueryTempCopy->SQL->Add("SET STATUS_MERGE ='1' ");
DM->IBQueryTempCopy->SQL->Add(" WHERE NAME_IMAGE='"+ImagesList->Strings+"'");
try{
DM->IBQueryTempCopy->ExecSQL();
DM->IBQueryTempCopy->Transaction->CommitRetaining();
} catch (Exception &exception){
DM->IBQueryTempCopy->Transaction->RollbackRetaining();
Application->MessageBox(("Ошибка редактирования-"+exception.Message).c_str(),"Ошибка",MB_OK | MB_ICONERROR);
}

if (DM->IBDatabaseA->DefaultTransaction->InTransaction) DM->IBDatabaseA->DefaultTransaction->Commit();
if (!DM->IBDatabaseA->DefaultTransaction->InTransaction) DM->IBDatabaseA->DefaultTransaction->StartTransaction();
}
catch (Exception &exception){
Application->ShowException(&exception);
return false;
}
запрос
DM->IBQueryTempCopy2->Close();
DM->IBQueryTempCopy2->SQL->Clear();
DM->IBQueryTempCopy2->SQL->Add(" SELECT * FROM CARD_TABL WHERE ( (NAME_ARCHIVE_DISK IS NULL) AND ((STATUS_MERGE ='2') OR (STATUS_MERGE IS NULL)) ) ");
DM->IBQueryTempCopy2->SQL->Add(" ORDER BY CARD_ID ");
DM->IBQueryTempCopy2->Open();



if (DM->IBDatabase->Connected){
if (DM->IBDatabase->DefaultTransaction->InTransaction) DM->IBDatabase->DefaultTransaction->Commit();
if (!DM->IBDatabase->DefaultTransaction->InTransaction) DM->IBDatabase->DefaultTransaction->StartTransaction();
}
if (DM->IBDatabase->Connected) DM->IBDatabase->Connected=false;
NayOn
Сообщения: 2
Зарегистрирован: 12 май 2004, 14:31
Откуда: SPb
Контактная информация:

Все здорово, а что ты используешь за класс для экземпляра DB?
Чудес не бывает, бывают чудесники
Ответить