我用ADO控件连接数据库,进行读写。在一个界面中用来显示数据库表,添加时弹出一个新的对话框,在里面填好确定后就可以写入数据库了,现在的问题是写入之后不能在数据库中立刻显示,必修要把窗口全关了,再次打开才能显示刚才写的。我在数据库窗口的那个表里,添加了一个按钮用来更新,但是不起作用,请大家看看应该怎么写。
procedure TForm4.确定Click(Sender: TObject);
begin
ADOQuery1.UpdateBatch();
ADOQuery1.Refresh ;
end;

解决方案 »

  1.   

    显示和添加操作用同一个ADOQuery说明:
    对显示关联的那个ADOQuery控件Refresh应该是可以显示的
    但Refresh会刷新所有的数据,数据多的话会非常慢,不建议使用
      

  2.   

    procedure TForm4.确定Click(Sender: TObject);
    begin
    ADOQuery1.UpdateBatch();//1.你这模式是批修改并提交?,单提交用ADOQuery1.Post;
    end;
    2.ADOQuery1.Refresh ;
    提交后不用刷新的3.你断点看看,里面的代码是否执行了呢?4.还有就是你数据库在提交数据后,打开的表要重新查询下才会出现
      

  3.   

    问题是我的显示窗口和添加窗口是两个,怎么能只用一个ADOQUery呢
      

  4.   

    在编辑窗口上USES 主窗口单元
    放上一个DataSource控件,设置其DataSet属性为主窗体的ADOQUERY控件即可
      

  5.   

    比如Unit1中有一个AdoQuery1
    Unit2中有一个DataSource1
    implementation
       uses Unit1;
    {$R *.dfm}procedure TForm2.FormCreate(Sender: TObject);
    begin
    DataSource1.DataSet := Unit1.Form1.ADOQuery1;
    end;
    设置下属性和引用单元就好了的,Lz还是看看书吧,,