读书人

各位大侠帮忙看看多谢

发布时间: 2012-03-17 19:06:28 作者: rapoo

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

[解决办法]
显示和添加操作用同一个ADOQuery

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

[解决办法]
procedure TForm4.确定Click(Sender: TObject);
begin
ADOQuery1.UpdateBatch();//1.你这模式是批修改并提交?,单提交用ADOQuery1.Post;
end;
2.ADOQuery1.Refresh ;
提交后不用刷新的

3.你断点看看,里面的代码是否执行了呢?

4.还有就是你数据库在提交数据后,打开的表要重新查询下才会出现
[解决办法]
在编辑窗口上USES 主窗口单元
放上一个DataSource控件,设置其DataSet属性为主窗体的ADOQUERY控件即可
[解决办法]
比如Unit1中有一个AdoQuery1
Unit2中有一个DataSource1

Delphi(Pascal) code
implementation   uses Unit1;{$R *.dfm}procedure TForm2.FormCreate(Sender: TObject);beginDataSource1.DataSet := Unit1.Form1.ADOQuery1;end;
[解决办法]
实在不行你就保存后加查询语句把你新增的数据查询出来
[解决办法]
adoquery.Close;
adoquery.Open;

读书人网 >.NET

热点推荐