adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('insert 。 ');
adoquery1.SQL.Add('insert 。 ');
adoquery1.ExecSQL;
adoquery1.sql.clear;
adoquery1.SQL.Add('insert 。 ');
adoquery1.SQL.Add('insert 。 ');
adoquery1.ExecSQL;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('insert field1 value1,fields2 value2.。 ');
adoquery1.ExecSQL;
if ADOConnection1.InTransaction=true then
begin
application.MessageBox('系统正在处理其他数据,请稍候再执行此操作!','提示',mb_ok+mb_iconinformation);
exit;
end;
ADOConnection1.BeginTrans;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('insert 登录信息表 (操作员代码) values (:操作员代码)');
dataunit.DataModule1.adoquery1.Parameters.ParamByName('操作员代码').value:=edit1.text;
dataunit.DataModule1.adoquery1.ExecSQL;
dataunit.DataModule1.adoquery1.close;
dataunit.DataModule1.adoquery1.sql.clear;
dataunit.DataModule1.adoquery1.SQL.Add('insert 日志信息表 (操作员代码) values (:操作员代码)');
dataunit.DataModule1.adoquery1.Parameters.ParamByName('操作员代码').value:=edit1.text;
dataunit.DataModule1.adoquery1.ExecSQL;
try
dataunit.DataModule1.ADOConnection1.CommitTrans;
except
dataunit.DataModule1.ADOConnection1.RollbackTrans;
application.MessageBox('此次登录由于某种原因而失败!','提示',mb_ok+mb_iconinformation);
exit;
end;以上代码中,用了两个dataunit.DataModule1.adoquery1.ExecSQL;语句。两次提交中的动态参数一样,这样的形式能通过,但如果放在一次提交中便不行。
with dataunit.DataModule1 do
begin
if .ADOConnection1.InTransaction=true then
begin
application.MessageBox('系统正在处理其他数据,请稍候再执行此操作!','提示',mb_ok+mb_iconinformation);
exit;
end;
ADOConnection1.BeginTrans;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('insert 登录信息表 (操作员代码) values ('''+edit1.text+''')');
dataunit.DataModule1.adoquery1.SQL.Add('insert 日志信息表 (操作员代码) values ('''+edit1.text+''')');
adoquery1.ExecSQL;
try
ADOConnection1.CommitTrans;
except
ADOConnection1.RollbackTrans;
application.MessageBox('此次登录由于某种原因而失败!','提示',mb_ok+mb_iconinformation);
exit;
end;
end;
with dataunit.DataModule1 do
begin
if .ADOConnection1.InTransaction=true then
begin
application.MessageBox('系统正在处理其他数据,请稍候再执行此操作!','提示',mb_ok+mb_iconinformation);
exit;
end;
ADOConnection1.BeginTrans;
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.Add('insert 登录信息表 (操作员代码) values ('''+edit1.text+''')');
adoquery1.SQL.Add('insert 日志信息表 (操作员代码) values ('''+edit1.text+''')');
adoquery1.ExecSQL;
try
ADOConnection1.CommitTrans;
except
ADOConnection1.RollbackTrans;
application.MessageBox('此次登录由于某种原因而失败!','提示',mb_ok+mb_iconinformation);
exit;
end;
end;