conn:=tadoconnection.create();
conn.begintrans();
try
.....
.....
conn.commit();
conn.free;
conn:=nil;
except
conn.rollback();
conn.free;
conn:=nil;
end;
----------------
Void __fastcall TForm1::Button1Click(TObject *Sender)
{
/*///
// 函数功能:当用户输入数据后,添加程序先判断是否在数据库中已经存在
// 相同的记录内容,如果没有,则提示要求用户最后确认,如果
// 用户确认,则使用事务处理添加数据
// 执行环境:BCB5 Up1 + SQL SERVER2000 + ADO
// Author: bearbaba
// Create: 20020510
///*/
Integer j; //申明的变量J用来获取Select查询的结果,如果结果不等于0则说明已经存在相同的记录
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT count(*) FROM BZ_lab WHERE Name = :'"+Edit1->Text+"'");
ADOQuery1->Open();
j=ADOQuery1->RecordCount;
if(j!=1){
if ( Application->MessageBox("确认你的输入吗?", NULL, MB_OKCANCEL)== IDOK){
ADOConnection1->BeginTrans();
try{
ADOQuery1->SQL->Text = "INSERT BZ_lab(EX_No,Name,ShortName,Sign) VALUES(1,'"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"')";
ADOQuery1->ExecSQL();
}catch(...)
{
ADOConnection1->RollbackTrans();
}
ADOConnection1->CommitTrans();
ADOTable1->Refresh();
}
}
else
ShowMessage("已经存在相同的记录,请求被拒绝!");
}