adoquery1.UpdateBatch(arAll); 这个可一次性修改dbgrideh记录,
如果一次性把它新增写入sql2000表中,怎么写?

解决方案 »

  1.   

    都一样,它操作的不是grid而是数据集中在缓存中的记录,与你的数据库类型无关
      

  2.   


    能说一下吗, adoquery1.UpdateBatch(arAll);  这个是更新。
    那新增怎么写,add
      

  3.   

    这样为什么只能增加一条记录,为什么不能多条记录同时写入sqlprocedure TForm2.BitBtn11Click(Sender: TObject);
    var
    i, j: Integer;
    s: string;
    begin
    if DBGrideh1.SelectedRows.Count>0 then
    with DBGrideh1.DataSource.DataSet do
    for i:=0 to DBGrideh1.SelectedRows.Count-1 do
    begin
    GotoBook(pointer(DBGrideh1.SelectedRows.Items[i]));
    for j := 0 to FieldCount-1 do
    begin
    if (j>0) then s:=s+', ';
    s:=s+Fields[j].AsString;
    end;
    adoquery1.SQL.Text:='insert into cw_base(部门) VALUES ('''+dbgrideh1.Fields[1].AsString+''')';
    adoquery1.ExecSQL;
    s:= '';
    end;
    DBGrideh1.Refresh;
    adoquery1.SQL.Clear;
    adoquery1.sql.Add('select * from cw_base');
    adoquery1.open;
    end;