unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGridEh, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGridEh1: TDBGridEh;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from fl');
ADOQuery1.Active:=true;
dbgrideh1.DataSource:=DataSource1;
ADOQuery1.SaveToFile('c:\a');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.LoadFromFile('c:\a');
end;
end.第一次点击第一个按钮,再点第二个按钮不出错,然后不要关闭表单,再点击第一个按钮为什么出错了
各位同仁帮帮忙,很急啊
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGridEh, DB, ADODB;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGridEh1: TDBGridEh;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from fl');
ADOQuery1.Active:=true;
dbgrideh1.DataSource:=DataSource1;
ADOQuery1.SaveToFile('c:\a');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.LoadFromFile('c:\a');
end;
end.第一次点击第一个按钮,再点第二个按钮不出错,然后不要关闭表单,再点击第一个按钮为什么出错了
各位同仁帮帮忙,很急啊
打断点单步执行
找出错误语句——OK?估计是 ADOQuery1.SaveToFile('c:\a');因为当你点第二个按钮后'c:\a'被“锁”
所以再SaveToFile('c:\a');就会错!