procedure TForm2.RzButton2Click(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('update BZPZ set 起始时间='''+Rzedit3.Text+''' , 结束时间='''+Rzedit4.Text+''' where 车号='''+RzEdit1.Text+'''');
  ADOQuery1.ExecSQL;
end;能正常更新数据,但是dbgrid表格里的内容变成空白了,怎么办?

解决方案 »

  1.   

    dbgrid表格 关联的是 adoquery1?
    那肯定不行啊
      

  2.   

    操作和显示的ADOQuery分开使用
      

  3.   

      更新后再select下就可以了。
      

  4.   

    在用加个AdoQuery,用新的来更新
      

  5.   

    只用adoquery1来做查询,不要用它来做插入和修改操作。
      

  6.   

    好像是要在加个ADO控件能解决你的问题
      

  7.   

    不知楼主是不是想把更新后的数据同步显示到本地的dbgrid中
    1. 如果调用了ADOQuery的Close,那么,与它关联的数据感知控件(例如DBGrid)肯定什么数据都没了,因此,可考虑新建一个ADO控件来执行更新操作
    2. 通过SQL语句直接更新数据到数据库中,那么,这个更新是不会自动反应到本地显示的数据中的,因为它们根本就存在2个地方,因此,可考虑使用refresh函数将本地数据集进行刷新,不过,调用refresh感觉执行效率比较低,呵呵
      

  8.   

    可以使用一个,ADOQuery,更新后再select下就可以了。
      

  9.   

    dbgrid不要关联这个ADOQUERY呀,重新放一个ADOQUERY或者关联ADOTABLE也行呀