我用ADO控件连接数据库,进行读写。在一个界面中用来显示数据库表,添加时弹出一个新的对话框,在里面填好确定后就可以写入数据库了,现在的问题是写入之后不能在数据库中立刻显示,必修要把窗口全关了,再次打开才能显示刚才写的。我在数据库窗口的那个表里,添加了一个按钮用来更新,但是不起作用,请大家看看应该怎么写。
procedure TForm4.确定Click(Sender: TObject);
begin
ADOQuery1.UpdateBatch();
ADOQuery1.Refresh ;
end;
procedure TForm4.确定Click(Sender: TObject);
begin
ADOQuery1.UpdateBatch();
ADOQuery1.Refresh ;
end;
对显示关联的那个ADOQuery控件Refresh应该是可以显示的
但Refresh会刷新所有的数据,数据多的话会非常慢,不建议使用
begin
ADOQuery1.UpdateBatch();//1.你这模式是批修改并提交?,单提交用ADOQuery1.Post;
end;
2.ADOQuery1.Refresh ;
提交后不用刷新的3.你断点看看,里面的代码是否执行了呢?4.还有就是你数据库在提交数据后,打开的表要重新查询下才会出现
放上一个DataSource控件,设置其DataSet属性为主窗体的ADOQUERY控件即可
Unit2中有一个DataSource1
implementation
uses Unit1;
{$R *.dfm}procedure TForm2.FormCreate(Sender: TObject);
begin
DataSource1.DataSet := Unit1.Form1.ADOQuery1;
end;
设置下属性和引用单元就好了的,Lz还是看看书吧,,