把ADOConnection 的 LoginPrompt := Flase; 在ConnectionStrig中写入密码和用户名

解决方案 »

  1.   

    哎呦!这个问题我以前也遇到过,最后没有办法只能用ODBC方式了。
    如果这是个问题的话,问题处在Microsoft那,不是ADO,就是Access的问题。
      

  2.   

    function InitADOAccessString(FilePath,Pass:string):string;
    var str:string;
    begin
        str:='';
        str:=str+'Provider=MSDASQL.1;';
        if pass<>'' then
           str:=str+'Password='+Pass+';Persist Security Info=True;'
        else
           Str:=Str+'Persist Security Info=False;';
        str:=str+'Mode=Read|Write;';
        str:=str+'Extended Properties="DSN=MS Access 97 Database;DBQ='+FilePath;
        str:=str+';'+'DefaultDir='+ExtractFileDir(FilePath)+';';
        str:=str+'DriverId=281;';
        str:=str+'FIL=MS Access;FILEDSN=C:\Program Files\Common Files\ODBC\Data Sources\Sources\MS Access 97 Database (not sharable).dsn;';
        str:=str+'MaxBufferSize=2048;PageTimeout=5;';
        str:=str+'UID=admin;"';
        result:=str;
    end;procedure tform1.oncreate;
    begin
      adoconnection1.connectionstring:=initadoacessstring('you access file','password');
    end;
      

  3.   

    在ADOConnection控件的connectionstring中加上如下的字符串,“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WINDOWS\Desktop\Data.mdb;Jet OLEDB:Database Password=SSSS”,Database Password=之后的就是数据库密码。在设计时点击ADOConnection控件的connectionstring右边的按钮弹出的窗体选“Build”,在“ALL”那一页上有“Database Password”一项双击它然后将数据库密码写上就行了。
      

  4.   

    补充一句,运行时弹出的LOGIN对话框,只要把ADOConnection 的 LoginPrompt := Flase就可以了那个密码根本不是数据库的密码。