设置 query1.RequestLive:=true 
给分哟!!!!:)

解决方案 »

  1.   

    oysy对不起,将requestlive设为真,却也不能修改表中数据,更不会自动存盘!
      

  2.   

    用updatesql控件,把tquery的updateobject属性设为updatesql,
    看看它的帮助吧,具体我也说不清楚
      

  3.   

    谁还能采用sql查询后的结果放在dbgrid中,怎样实行修改dbgrid中的数据使之与数据库数据同步?
      

  4.   

    可以在DBGRID控件的某列的变化事件中加入修改的SQL语句实现这个功能吧.
      

  5.   

    主要是dbgrid不能被修改,readonly我已经设为了false.
      

  6.   

    用 Query 得到的数据集是不能通过对 DBGrid 的修改来直接修改数据库的。除非你用代码
    自己来控制。
      

  7.   

    就是当修改了 DBGrid 后,你自己用代码把这个数据写到数据库。不过会有说回来,你干吗不用别的数据集部件。
      

  8.   

    sanjianxia(三剑侠)你好,我已经做了试验,界面上放了DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; DataSource1: TDataSource; Query1: TQuery; Button1: TButton;
    连接各控件后,设置 query1.RequestLive:=true,按钮事件为:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Query1.Close;
      Query1.SQL.Clear;
      Query1.SQL.Add('select * from country');
      Query1.Open;
    end;
    是完全可以的。你再试试!!! 
     
      

  9.   

    宣洪学友:
       用sql将结果能够查询出来并在dbgrid中显示,我是说在显示以后,再在dbgrid中修改数据,我修改后数据库数据跟着改变的问题。
      

  10.   

    Query1不要Close,就可实现你的功能,要不把你现在的现象详细讲下。OK
      

  11.   

    我在treeview中的代码如下:
    procedure TForm4.TreeView1Click(Sender: TObject);
    begin
    form4.Caption:='数据浏览器=>'+treeview1.Selected.Text;
    query1.Close;
    query1.SQL.Clear;
    query1.sql.add('select DISTINCT * from "buy.db" WHERE 存放地=:text');
    query1.ParamByName('text').asstring:=treeview1.Selected.Text;
    query1.open;
    end;
    现在是在dbgrid中的数据根本就不能修改。不知道为什么。
      

  12.   

    我现在不是使用的Adoquery,而是dbquery.有办法吗?
    谢谢!
      

  13.   

    把DISTINCT去掉就可以了,具体原因我也不太清楚!!!:)
      

  14.   

    的确去掉 distinct数据能够修改,但怎样检查数据dbgrid中那些数据被修改过的,好便于数据存回数据库,有好方法将修改后的数据存盘吗?
      

  15.   

    加一个导航器,或者dbgrid自动存盘。
      

  16.   

    我加了一个导航器,但采用的是sql,所以数据库不能自动更新。
      

  17.   

    我加了一个导航器,但采用的是sql,所以数据库不能自动更新。
      

  18.   

    不会吧?用Query1.Post试试吧!!!今天要下班了,我晚上再来看看。祝你成功!!!
      

  19.   

    有什么办法捕获dbgrid数据被修改,并做相应的数据更改数据的方法?我发现阶段在dbgrid中一旦修改数据后,数据前面的表格就有相应的记录。能根据此判断吗?
      

  20.   

    dbgrid与grid的区别之一就是它是和数据同步的。它可以自动完成你要的功能,没必要判断数据是否被修改过了,要不然你用grid吧!!!(我这样讲你不会生气吧!!!)
      

  21.   

    非要在dbgrid里面修改吗? 换个思路用几个edit作为修改的地方.
    或者用stringgrid 同意宣洪的意见。关注。
      

  22.   

    我倒有一种方法:明天再说!呵呵
    如果我忘了:给我email:[email protected]
      

  23.   

    不会吧,我以用CachedUpdates一直都可以啊。
      

  24.   

    你这个傻*,
    用UpdateSQL就OK了,最简单而且是最安全的
    只要你设置CACHEUPDATE =TRUE
       UPDATEOBJECT =:空间名
    然后你只要设定好你要更新的语句就OK了;
    然后你在DELETE,POST,SAVE 等操作之后调用APPLYUPDATES 就OK!
    如果你想要个详细的例子,MIAL给我
      

  25.   

    你这老兄,怎么还不明白?!人家阿飞已经说的够清楚了!因为你在sql里加了参数,
    所以更新的时候得用Sql + UpdateSql组件来解决!
      

  26.   

    能把源程序发给我看看是怎么回来吗?还有你是用在网络上?
    my email:[email protected]