用QUERY对vf数据库进行修改,在dbgrid中也显示修改后的数据,但关闭窗口后在进入查询修改后的数据发现还是原来的数据。为什么?

解决方案 »

  1.   

    你保存了了没有?
    QUERY.POST;
      

  2.   

    对数据集中的数据进行修改或新增后需要调用它的Post方法提交数据的。
      

  3.   

    我相信不是POST的问题,应该是刷新问题,,
      

  4.   

    我的源代码如下:
     with query1 do         begin
                 try
                 edit;
                 fieldbyname('xm').AsString:=edit1.Text;
                 fieldbyname('dz1').AsString:=edit2.Text;
                 fieldbyname('旧地址').AsString:=edit3.Text;
                 fieldbyname('bz').AsString:=edit4.Text;
                 fieldbyname('jf').AsString:=edit7.Text;
                 fieldbyname('jfrq').AsString:=edit8.Text;
                 fieldbyname('jzrq').AsString:=edit9.Text;
                 fieldbyname('dh').AsString:=edit5.Text;
                 fieldbyname('yhzt').AsString:=combobox3.Text;
                 fieldbyname('dw').AsString:=edit10.Text;
                 fieldbyname('jfqk').AsString:=edit11.Text;
                 fieldbyname('qy').AsString:=combobox2.Text;
                 fieldbyname('yhlb').AsString:=combobox1.Text;
                 post;退出程序后发现在保存数据库的目录下自动生成
    qsql000.dbf
    qsql573.dbf
    可是再运行程序查询刚才修改的数据还是原来的。
      

  5.   

    是不是你POST的内容存到新表里了,而你查询的还是以前的数据表呢?
      

  6.   

    Post后加上这句试试行不行
    if LockType = ltBatchOptimistic then
      UpdateBatch;