|
InTransaction에 대해 도움말을 찾아보면 아래와 같은 예제가 나와있습니다..
void __fastcall TForm1::TransferButtonClick(TObject *Sender)
{
if (!SQLConnection1->InTransaction)
{
TTransactionDesc TD;
TD.TransactionID = 1;
TD.IsolationLevel = xilREADCOMMITTED;
SQLConnection1->StartTransaction(TD);
try
{
int Amt = StrToInt(AmtEdit->Text);
Debit->Params->ParamValues["Amount"] = Amt;
Credit->Params->ParamValues["Amount"] = Amt;
SQLConnection1->Commit(TD); // on success, commit the changes;
}
catch (...)
{
SQLConnection1->Rollback(TD); // on failure, undo the changes
ShowMessage("Transfer failed")
}
}
}
똑같이 insert쿼리와 update쿼리를 작성하여 수행을 하는데....
insert성공 후(트렌젝션종료) update를 하려고 하면
새로운 트렌젝션을 시작할수 없다고 commit과 rollback찍는 부분에서 나옵니다..ㅜㅜ
이게 버그인가요..ㅡㅡ?
|