使用ADO 或 Data access 控件时都有设置password 的选项。

解决方案 »

  1.   

    添加一个TDatabase组件,再将Table或Query等连接至TDatabase组件;***在属性框的DatabaseName填上别名,如“My_Database”然后:
    try
      Database1.Connected:=False;
      Database1.AliasName:='***';
      Database1.LoginPrompt:=False;
      Database1.Params.Add('UserName=***');
      Database1.Params.Add('Password=***');
      Database1.Connected:=True;
    except
      ShowMessage('***');
    end;
      

  2.   

    可用TDatabase,同enlightenment的说法,也可以用TSession,在TSession的OnPassword事件
    中写上user和password即可。
      

  3.   

    musicfox:
        真对不起,怪我没说清楚,因为用户的密码可能是随时改的,所以在程序连入数据库的密码
    不是说是不变的。所以说要进行对*.mdb格式的文件进行解密。
        数据库是放在用户的机器上,连入A.mdb,取得数据后作为B.mdb数据库的路径和其它资料的
    参数。
       现已经在网上寻得解方,不过还是多谢各位。现把它显之:这是对于Office 97数据库的。、
    function GetAccessPassword(FilePath:string):string;
    const
         xorString:array[0..12]of byte=
          ( $86, $FB, $EC, $37,
            $5D, $44, $9C, $FA,
            $C6, $5E, $28, $E6,$13 );
    var
        passBuf:array[0..14]of byte;
        pass:array[0..14]of char;
        resultPass:string;
        B:Byte;
        F:TFileStream;
        i:integer;
    begin
       F:=TFileStream.Create(FilePath,fmShareDenyNone);
       //office 97
       try
         F.Seek($42,soFromBeginning);
         F.Read(passBuf,14);
         for I:=0 to 13 do
         begin
            B := passBuf[i] xor xorString[i];
            pass[i]:=char(B);
         end;
        pass[sizeof(pass) - 1] := #0;
        resultPass:=StrPas(Pass);
       finally
         F.Free;
       end;
       result:=resultPass;
    end;
    end;