DBF数据源在程序运行状况下不能修改?大家有什么办法。VC中试过可以,delphi为什么不行(100分)

  • 主题发起人 主题发起人 filter
  • 开始时间 开始时间
F

filter

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是一段测试代码
adodbf.ConnectionString := ado_dbf;
adodbf.Connected := true;
dd:=tadoquery.Create(self);
dd.Connection:=adodbf;
dd.Close;
dd.sql.text:='select * from zm';
dd.Open;
dd.Close;
dd.free;
adodbf.Connected := false;
adodbf.ConnectionString:='';
我的想法是当adodbf.Connected := false;时,dd被释放,adodbf中断连接。此时访问
zm.dbf,仍提示我zm正在被访问?
由于程序需要在不退出情况下更新dbf数据源,请问如何解决?
 
你把程序的独占关掉试试。
Exclusive:=True;
 
adodbf是个adotable控件吗?如果是的话,好像还有一个active属性需要设一下吧?
 
antilope,我是adoquery,没有这个方法
resun, active已经设false
----打开!!
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Persist Security Info=False;Data Source=FYDBF';
ADOConnection1.LoginPrompt:=false;
ADOConnection1.Connected:=true;
ADOQuery1.Active:=true;
end;

---- 关闭
procedure TForm1.Button2Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Text:='';
//ADOQuery1.free;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:='';
//ADOConnection1.free;
end;
打开后就再按关闭,DBF仍旧不能打开.如果adoquery1.free,adoconnection1.free后,可以
打开DBF,但再按“打开”时出错
 
有没有提示什么错误啊?
 
已经解决了。
只有ADOCONNECT,ADOQUERY这些控件都FREE后才行
 
后退
顶部