今天找了一条数据库之间表拷贝语句   select   *   into   temp   from   pw   in   "D:\complee   7-111下午\complee   7-111下午\db1.mdb"能拷贝, 
但是给D:\complee   7-111下午\complee   7-111下午\db1.mdb设置密码后再执行adoquery时出错,提示是密码无效,请问各位大侠密码应该加在哪里?

解决方案 »

  1.   

    在工程文件中,设置adoconnection的连接字符串
    program SBKYC;uses
      Forms,
      Windows,
      SysUtils,
      BKYC in 'BKYC.pas' {frmmain},
      udmyc in 'udmyc.pas' {dmyc: TDataModule},
      ulogin in 'ulogin.pas' {frmlogin},
      uwcjcx in 'uwcjcx.pas' {frmwcjcx},
      uycjcx in 'uycjcx.pas' {frmycjcx},
      uyysz in 'uyysz.pas' {frmyysz},
      uyclb in 'uyclb.pas' {frmyclb},
      uywy in 'uywy.pas' {frmywy},
      uwjgc in 'uwjgc.pas' {frmwjgc},
      uysxm in 'uysxm.pas' {frmysxm},
      uyssz in 'uyssz.pas' {frmyssz},
      uyskbb in 'uyskbb.pas' {frmyskbb},
      uskdcx in 'uskdcx.pas' {frmskdcx},
      uprintclass in 'uprintclass.pas' {frmprintclass},
      uPass in 'uPass.pas' {frmPass},
      unewuser in 'unewuser.pas' {frmnewuser},
      uthdcxadd in 'uthdcxadd.pas' {frmyjgcx},
      uFunction in 'uFunction.pas',
      uskdcx2 in 'uskdcx2.pas' {frmskdcx2},
      uDataSend in 'uDataSend.pas' {frmDataSend};var
    access:string;constlink_str='provider=%s;data source=%s;persist security info=false;jet oledb:database password=tsitneDrD';dataprovider='microsoft.jet.oledb.4.0';{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(Tdmyc, dmyc);
      try
       access:=extractfilepath(application.ExeName)+'data\mouthdb.mdb';
       udmyc.dmyc.adoconnection1.Connected:=false;
       udmyc.dmyc.adoconnection1.ConnectionString:=format(link_str,[dataprovider,access]);
       udmyc.dmyc.adoconnection1.Connected:=true;
      except
        udmyc.dmyc.Free;
        Application.MessageBox('无法连接数据库','系统提示',2);
        Application.Free;
        Exit;
      end;
      Application.CreateForm(Tfrmlogin, frmlogin);
      Application.CreateForm(Tfrmmain,frmmain);
      Application.Run;
    end.
      

  2.   

    访问多个不同的ACCESS数据库-在SQL中使用In子句:
        Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID;
        上面的SQL语句查询出当前数据库中Tab1和db2.mdb(当前文件夹中)中Tab2以ID为关联的所有记录.
    缺点-外部数据库不能带密码.
    补充:看到ugvanxk在一贴中的答复,可以用
        Select * from [c:\aa\a.mdb;pwd=1111].table1;
    ACCESS XP测试通过http://www.delphibbs.com/keylife/iblog_show.asp?xid=101