DELPHI中SQL语句的批处理是怎么写的
1个回答
展开全部
没有用过批处理,只是一条一条执行sql,完毕就可以
用事务,不用Tadoquery等组件:
procedure TForm1.Button1Click(Sender: TObject);
begin
adoconnection1.begintrans;
try
adoconnection1.execute(update 语句);
如果还有insert 语句则:
adoconnection1.execute(update 语句);直到所有update语句完成.
adoconnection1.committrans;
except
adoconnection1.rollbacktrans;
end;
end;
说的更通俗一点就是
SQL Server支持一次执行多条SQL语句的,直接放在SQL.Text就可以
比如:
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From Table1');
SQL.Add('Update Table2 Set Field1=1');
Open;
end;
两条语句都会被执行
用事务处理,如果执行时出现异常,可以adoconnection1.rollbacktrans撤销。
adoconnection1.begintrans;
//UPDATE语句1
//UPDATE语句2
//UPDATE语句3
。。。。。。
adoconnection1.rollbacktrans;
用事务,不用Tadoquery等组件:
procedure TForm1.Button1Click(Sender: TObject);
begin
adoconnection1.begintrans;
try
adoconnection1.execute(update 语句);
如果还有insert 语句则:
adoconnection1.execute(update 语句);直到所有update语句完成.
adoconnection1.committrans;
except
adoconnection1.rollbacktrans;
end;
end;
说的更通俗一点就是
SQL Server支持一次执行多条SQL语句的,直接放在SQL.Text就可以
比如:
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From Table1');
SQL.Add('Update Table2 Set Field1=1');
Open;
end;
两条语句都会被执行
用事务处理,如果执行时出现异常,可以adoconnection1.rollbacktrans撤销。
adoconnection1.begintrans;
//UPDATE语句1
//UPDATE语句2
//UPDATE语句3
。。。。。。
adoconnection1.rollbacktrans;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询