以前用本地数据库时,要实现查询、插入、删除、更新等功能时,在DELPHI中语句是这样写的:
  with adoquery1 do
  begin
    close;
    sql.clear;
    sql.add('select * from a');
    prepared:=true;
    open;
  end;
  with adoquery1 do
  begin
    close;
    sql.clear;
    sql.add('delete from a');
    prepared:=true;
    excesql;
  end;
  ...
在CS模式中,要考虑数据的并发性,以上的语句要怎么改进?是不是像下面这样,在每条SQL语句中显式的设置事务,有没有这个必要?
adoconnection1.begintrans;
try
  with adoquery1 do
  begin
    close;
    sql.clear;
    sql.add('select * from a');
    prepared:=true;
    open;
  end;
  adoconnection1.committrans;
execpt
  adoconnection1.rollbacktrans;
end;