C++Builder Personal で ADO

トランザクションを取り消す


void __fastcall TForm1::Button19Click(TObject *Sender)
{
Variant cn = Variant::CreateObject("ADODB.Connection");

//Edit3 に mdbファイル名を入力
cn.Exec(PropertySet("ConnectionString")<<"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Edit3->Text + ";");
cn.Exec(Procedure("Open"));

//トランザクションを開始
cn.Exec(Procedure("BeginTrans"));

//Edit4 に テーブル名を入力
//Edit5, Edit6 に フィールド名を入力
//Edit1, Edit2 に 値を入力
AnsiString sql = "UPDATE " + Edit4->Text + " "
+ "SET " + Edit6->Text + " = '" + Edit2->Text + "' "
+ "WHERE " + Edit5->Text + " = " + Edit1->Text;

cn.Exec(Procedure("Execute")<<sql);

//トランザクションを取り消す
cn.Exec(Procedure("RollBackTrans"));

cn.Exec(Procedure("Close"));
}