void __fastcall TForm1::FormCreate(TObject *Sender)
{
try {
ADOConnection1->Connected = true;
ADOConnection1->Open();
Memo1->Lines->Add("DB에 연결되었습니다.");
String sql = "select * from testinfo";
try{
ADOQuery1->SQL->Text = sql;
ADOQuery1->Open();
} catch (...) {
Memo1->Lines->Add("쿼리 실패");
}
} catch (...) {
Memo1->Lines->Add("연결 실패");
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString TempText;
TempText.sprintf( "INSERT INTO testinfo(edit1, edit2, edit3)"
"VALUES(%s, %s, %s)",
Edit1->Text,
Edit2->Text,
Edit3->Text );
AnsiString Temp = ADOQuery1->FieldByName("edit1")->AsString;
if(!ADOConnection1->InTransaction)
{
ADOConnection1->BeginTrans();
}else{
ADOConnection1->CommitTrans();
}
try{
for(int i = 0; i < Temp.RefCount()+1; i++)
{
if(ADOQuery1->Fields->Fields[i]->AsString != AnsiString(Edit1->Text))
{
ADOQuery1->Insert();
ADOQuery1->SQL->Add(TempText);
ADOQuery1->ExecSQL();
ADOConnection1->CommitTrans();
Memo1->Lines->Add("삽입성공");
}else{
Memo1->Lines->Add("삽입실패");
}
}
}catch(...){
ADOConnection1->RollbackTrans();
}
}
이걸 실행시키면 ExecSQL여기서 에러가나는데요 이유를 모르겠네여
이것저것 해봐도 모르겠어요.
|