在delphi   中关于向SQL   2000数据库中增加一条记录,请问用下列哪个方法更适合一些?或者下列方法有什么不同(优缺点)? 1.         ADODataSet1.Append; 
            ADODataSet1.UpdateBatch; 2.         ADODataSet1.CommandType:=cmdText; 
            ADODataSet1.CommandText:='INSERT   INTO   student   (编号,姓名)   VALUES   ('1001','林生')'; 
                                                                                                                  //上面语句只是为了说明意思,字符串表达是错误的 3.         利用存储过程,在SQL   2000   中,调用存储过程实现。

解决方案 »

  1.   

    1.第一种,当数据量过多时,显的有些不好,而且,要保持adodataset处理open的状态2.我推荐用第二种方法,简单,书写快
    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.调用存储过程也很好,他把处理都交给服务器来操作,但这会给服务器增大压力,且当涉及表结构变化时需要调整存储过程.
      也要更改代码,比较麻烦