在delphi 中关于向SQL 2000数据库中增加一条记录,请问用下列哪个方法更适合一些?或者下列方法有什么不同(优缺点)? 1. ADODataSet1.Append;
ADODataSet1.UpdateBatch; 2. ADODataSet1.CommandType:=cmdText;
ADODataSet1.CommandText:='INSERT INTO student (编号,姓名) VALUES ('1001','林生')';
//上面语句只是为了说明意思,字符串表达是错误的 3. 利用存储过程,在SQL 2000 中,调用存储过程实现。
ADODataSet1.UpdateBatch; 2. ADODataSet1.CommandType:=cmdText;
ADODataSet1.CommandText:='INSERT INTO student (编号,姓名) VALUES ('1001','林生')';
//上面语句只是为了说明意思,字符串表达是错误的 3. 利用存储过程,在SQL 2000 中,调用存储过程实现。
adoconnection.BeginTrans;
try
with adoquery1 do
begin
close;
sql.text := ' insert into student (编号,姓名) VALUES (:id,:name)';
parameters.parambyname('id').value := '1001';
parameters.parambyname('name').value :='林生';
execsql;
end;
adoconnecton.CommitTrans;
except
adoconnection.RollbackTrans;
end;尽量用绑定参数形式
3.调用存储过程也很好,他把处理都交给服务器来操作,但这会给服务器增大压力,且当涉及表结构变化时需要调整存储过程.
也要更改代码,比较麻烦