我用的Access2000数据库,
当我对数据库中的一个表进行了添加后,立即读数据时不能读到刚保存的数据!
要等上几秒钟才可以读出!
为什么呀?代码:
procedure TfrmDepartmentSet.RzBtnAttributeClick(Sender: TObject);
begin
if tv1.Selected=nil then
begin
Application.MessageBox('请选择要编辑的部门!','错误',MB_ICONERROR+MB_Ok);
Exit;
end;
if TreeUtil.getSelNodeIndex=0 then
begin
Application.MessageBox('根目录不能进行此操作!','错误',MB_ICONERROR+MB_Ok);
Exit;
end;
AddFlag:=False;
SupDepartName:=tv1.Selected.Parent.Text;
SelDepartID:=TreeUtil.getSelNodeIndex;
frmDepartInfo:=TfrmDepartInfo.Create(Application);//在这个创建的窗口中向部门数据库中添加了一条消息
frmDepartInfo.ShowModal;
TreeUtil.FillTree;//这是一个TreeView控件,实现与数据库关联!
end;可是,重新刷新的TreeView中没有刚添加的数据,要等上几秒再刷新才可以读到数据!各位高手请问为什么呀?是数据库问题还是我的程序有问题呀?
当我对数据库中的一个表进行了添加后,立即读数据时不能读到刚保存的数据!
要等上几秒钟才可以读出!
为什么呀?代码:
procedure TfrmDepartmentSet.RzBtnAttributeClick(Sender: TObject);
begin
if tv1.Selected=nil then
begin
Application.MessageBox('请选择要编辑的部门!','错误',MB_ICONERROR+MB_Ok);
Exit;
end;
if TreeUtil.getSelNodeIndex=0 then
begin
Application.MessageBox('根目录不能进行此操作!','错误',MB_ICONERROR+MB_Ok);
Exit;
end;
AddFlag:=False;
SupDepartName:=tv1.Selected.Parent.Text;
SelDepartID:=TreeUtil.getSelNodeIndex;
frmDepartInfo:=TfrmDepartInfo.Create(Application);//在这个创建的窗口中向部门数据库中添加了一条消息
frmDepartInfo.ShowModal;
TreeUtil.FillTree;//这是一个TreeView控件,实现与数据库关联!
end;可是,重新刷新的TreeView中没有刚添加的数据,要等上几秒再刷新才可以读到数据!各位高手请问为什么呀?是数据库问题还是我的程序有问题呀?
access中有一个表Table1 id自动编号, name文本
利用ADO连接界面上有一个DBGrid1用来显示表中的数据
和TDBGrid关联的DataSet是ADOTable1插入数据是用ADOQuery1插入数据后马上刷新就能显示出数据
代码如下:
--------------------
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
SQL.Clear;
SQL.Text := 'Insert into Table1(name)';
SQL.Add('Values(:name)');
Parameters.ParamByName('name').Value := FormatDateTime('YYYY-MM-DD HH:NN:SS.ZZZ', Now);
ExecSQL;
end;
with ADOTable1 do
begin
Close;
Open;
end;
end;end.
可是我的系统中其他地方也要用到数据源的,断开后其他的所有调用的地方不是都断开了嘛?