我使用ado连接到paradox库,
ADOConnection1.Connected := False;
  ADOConnection1.ConnectionString :=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source= f:\database;Extended Properties=Paradox 7.x;Persist Security Info=False';
  ADOConnection1.Connected := True;
在ADOConnection1.Execute执行一个查询操作完成后,我关闭连接,
  ADOConnection1.Connected := false;
但是文件夹f:\database好像被锁定了,我想对其重命名都无法实现,请问有什么办法能解决吗?

解决方案 »

  1.   

    动态创建一个connection,使用完毕后释放掉,就可以了(得确保释放掉)
      

  2.   

    可以试试一楼的办法
    ADOConnection1 := TADOConnection.create(nil);
      ADOConnection1.ConnectionString :=
        'Provider=Microsoft.Jet.OLEDB.4.0;Data Source= f:\database;Extended Properties=Paradox 7.x;Persist Security Info=False';
      ADOConnection1.Connect;
    在ADOConnection1.Execute执行一个查询操作完成后,我关闭连接,//另外这儿好像有点儿问题,查询到结果之后如果还要保持连接是不行的,必须显示到控件上,然后关闭你的数据集  ADOConnection1.disconnect;
    ADOConnection1.free;
      

  3.   

    不行啊,还是有问题,如下代码,要怎么写才可以啊,有高手指点一二否??procedure TForm1.Button2Click(Sender: TObject);
    var
      adoconnection2 :  TADOConnection;
    begin
      ADOConnection2 := TADOConnection.create(nil);
      ADOConnection2.ConnectionString :=
        'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test ;Extended Properties=Paradox 7.x;Persist Security Info=False';
      ADOConnection2.Connected := True;
      ADODataSet1.Recordset:=
      ADOConnection2.Execute('select [DCA Appl Name],[AI Points] from wwl400.db');
      ADODataSet1.First;
      ADOConnection2.Connected:=false;
      adoconnection2.Free;
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      conn :TADOConnection;
    begin
      conn := TADOConnection.create(nil);
      with conn do
      try
        conn.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test ;Extended Properties=Paradox 7.x;Persist Security Info=False';    connected:=true;
    ADODataSet1.Recordset:=
      ADOConnection2.Execute('select [DCA Appl Name],[AI Points] from wwl400.db');
      ADODataSet1.First;    showmessage('ok');
      finally
        connected:=false;
        FreeAndNil(conn);
      end;
    end;