表a
a b  c
1 11 111
2 22 222
3 33 333
查询语句为select * from a
用DBGRID显示查询结果
我想在DBGRID里直接修改或添加记录
然后更新到数据库
请问如何实现
很急
谢谢!!
如果这个不好实现,请问怎么做能把查询的结果修改后提交给数据库?

解决方案 »

  1.   

    不是设置DBGrid,DBGrid默认ReadOnly:=False;可以修改。应该修改Query1。Query1.RequestLive:=True;
      

  2.   

    将dbgrid链接数据库后自动更新;
      

  3.   

    直接post就可以了 当你的光标离开你的写的数据的单元格的时候就已经自动的更新了
      

  4.   

    例如:
    ADOConnection连接数据库,ADOQuery挂接ADOConnection,并设置SQL语句,取得数据,DataSource挂接ADOQuery,DBGrid挂接DataSource,显示和修改数据,这样就可以直接修改了啊。还可以再加一个DBNavigator挂接DataSource,可以控制数据集。
      

  5.   

    不是设置DBGrid,DBGrid默认ReadOnly:=False;可以修改。应该修改Query1。Query1.RequestLive:=True;
      

  6.   

    procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
    begin
      datasource1.DataSet.edit;
      datasource1.DataSet.Post;
    end;
      

  7.   

    DbGrid是自动更新的,只要能够修改,