在帮助中只找到了insertrecord,用insertrecord的话,字段不容易对上,比如我只要更新两个字段,而数据库中有10个字段,不太好办。
有没有别的插入新记录的办法?或者insertrecord能解决吗?

解决方案 »

  1.   

    是更新还是插入?
    更新
    ADODataSet1.edit
    插入
    ADODataSet1.append
      

  2.   

    adodataset1.CommandText := 'insert into tablename(field1,field2) values(:1,:2) ';
      adodataset1.Parameters.ParamByName('1').Value  := edit1.text;
      adodataset1.Parameters.ParamByName('2').Value  := edit2.text;
      

  3.   

    adodataset好像是不能执行没有返回结果的语句的吧 就一个open
    还是用adocommand 吧
      

  4.   

    adodataset在更新,或者插入的时候,首先要返回需要更新或者插入的字段,
    比如
    插入
    with adodataset1 do
    begin
      commandtext:='select a,b from c';
      open;
      append;
      FieldValues['a']:=1;
      FieldValues['b']:=2;
      post;
      close;
    end;
    更新
    with adodataset1 do
    begin
      commandtext:='select a,b from c where a=0';
      open;
      edit;
      FieldValues['a']:=1;
      FieldValues['b']:=2;
      post;
      close;
    end;
      

  5.   

    ADODataSet1.append;
    ADODataSet1.FieldByName('A').AsString := 'AAA';
    ADODataSet1.FieldByName('B').AsString := 'BBB';
    ADODataSet1.Post;
    即可。`
      

  6.   

    appendrecord([edit1.text,edit2.text]);
    比较方便,自动转换数据类型。