我用ADO控件连接数据库,进行读写。在一个界面中用来显示数据库表,添加时弹出一个新的对话框,在里面填好确定后就可以写入数据库了,现在的问题是写入之后不能在数据库中立刻显示,必修要把窗口全关了,再次打开才能显示刚才写的。我在数据库窗口的那个表里,添加了一个按钮用来更新,但是不起作用,请大家看看应该怎么写。
procedure TForm4.确定Click(Sender: TObject);
begin
ADOQuery1.UpdateBatch();
ADOQuery1.Refresh ;
end;
procedure TForm4.确定Click(Sender: TObject);
begin
ADOQuery1.UpdateBatch();
ADOQuery1.Refresh ;
end;
解决方案 »
- 如何做一个卡拉OK录音程序 (用"千千静听"等播放程序播发伴奏,自己的这个程序录制并保存到硬盘) !!!
- 能否将RichEdit组件里不同行的字符串编程分别存入不同的地方?
- 怎样将制作软件演示?
- 如何建立自己的字符串资源?高手赐教
- delphi for 触摸屏
- 如何注册flash组件!?
- 如何知道热键是否被注册?
- delphi 2007 安装了fastreport 写了一下例子运行报错
- 用 Delphi 写的数据库程序发表是是否需要什么库支持?
- 有谁知道DevExpress中的DbTree控件(for Delphi5)正式版本哪儿有下载?
- 如何写Delphi TreeView节点功能函数?
- 四个字节的byte转为float类型
对显示关联的那个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还是看看书吧,,