不同的数据库其触发器的格式是不同的,可以参照说明文件.with ATOQuery do
begin
Close; //在设置SQL语句之前关闭数据集
SQL.Clear; //清空原有SQL语句
SQL.Add(sSQLStatment);//设置SQL语句
Prepare; //通知后台服务器,预备各种参数
Open; //用Open方法,SQL语句应返回结果,如SELECT语句
ExceSQL; //用ExecSQL方法,SQL语句不返回结果,如
//INSERT, DELETECREATE TABLE等语句
end;
begin
Close; //在设置SQL语句之前关闭数据集
SQL.Clear; //清空原有SQL语句
SQL.Add(sSQLStatment);//设置SQL语句
Prepare; //通知后台服务器,预备各种参数
Open; //用Open方法,SQL语句应返回结果,如SELECT语句
ExceSQL; //用ExecSQL方法,SQL语句不返回结果,如
//INSERT, DELETECREATE TABLE等语句
end;
ADOQuery1:commandtext does not return a result set.
create trigger short_insert on short for insert as....
并且每次执行的时候都提示short_insert对象已经存在?这又是为什么?
with adoquery1 do
begin
active:=false;
sql.clear;
sql.add('delete from table1');
sql.open; //把其改为sql.execsql 就不会出现问题,
end;
我用了一个触发器建立语句:create trigger short_insert on short for insert as....
为什么每次执行程序的时候都提示short_insert对象已经存在?