用ADO控件访问access数据库。若access数据库设置密码,ADO控件将如何进行访问了?请帮忙一下!

解决方案 »

  1.   

    下面的函数返回指定日期的所在月的最后一天的日期: 
    function LastDayOfMonth(Dat: TDate): TDate;
    var
    D,M,Y:Word;begin
    DecodeDate(IncMonth(Dat, 1), Y, M, D);
    Result := EncodeDate(Y, M, 1) - 1;
    end;
     
      

  2.   

    var
    DBConStr: string;
    ----------  
    DBConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
               'User ID=Admin;Data Source='+DBDIR+';'+  //数据库路径
               'Mode=Share Deny None;Extended Properties="";'+
               'Locale Identifier=2052;Persist Security Info=False;'+
               'Jet OLEDB:System database="";Jet OLEDB:Registry Path="";'+
               'Jet OLEDB:Database Password='+密码+';'+  //密码
               'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;'+
               'Jet OLEDB:Global Partial Bulk Ops=2;'+
               'Jet OLEDB:Global Bulk Transactions=1;'+
               'Jet OLEDB:New Database Password="";'+
               'Jet OLEDB:Create System Database=False;'+
               'Jet OLEDB:Encrypt Database=False;'+
               'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
               'Jet OLEDB:Compact Without Replica Repair=False;'+
               'Jet OLEDB:SFP=False';
      ADOCon.ConnectionString := DBConStr;
      try
        ADOCon.Connected := True;
      except
        on E: exception do
        begin
          Application.MessageBox('连接数据库失败!','错误',MB_ICONERROR + MB_OK);
          Exit;
        end;
      end;
      

  3.   

    path:=ExtractFilePath(Application.ExeName);
      db:=path+'\XCJX.mdb';
      try
        ADOConn.Close;
        ADOConn.ConnectionString:='provider=Microsoft.Jet.OLEDB.4.0;Data Source='+db+';persist security info=false;Jet OLEDB:Database Password=''admin'' ';
        ADOConn.Connected:=true;
        ADOConn.Open;
        ADOTABLE1.Active:=TRUE;
      except
        showmessage('connect acess database error!');
        exit;
      end;
      

  4.   

    为什么还是不行?
    我访问的是有设置密码的access数据库!
    在“adoconnection的数据链接属性”中显示的错误是“测试连接失败,因为初始化提供程序时发生错误。无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。”
      

  5.   

    adoquery1.connectionstring:=('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WINDOWS\Desktop\档案管理系统\dangan\database\shujuku.mdb;Persist Security Info=False;Jet OLEDB:Database Password=kbf');
      

  6.   

    kbf就是密码,用Adoconnection是一样的,
      

  7.   

    你是否设置了数据库的组策略。
    如果设置了,访问起来就比较麻烦。如 财智家庭理财的数据库就设置了组策略,使ACCESS的安全性提高了一个档次。
    还有一点你的用户名是否正确。
    你在连接时是不是用ACCESS或其他程序用独占的方式操作这个数据库。
      

  8.   

    没有设置数据库的组策略!
    access的用户名是指:在access应用程序中-->关于窗体中的本产品使用权属于“某某人”的某某人吗?
    连接时没有其他ACCESS或其他程序用独占的方式操作这个数据库。等中.....
      

  9.   

    如何用ADO连接accsee数据库:
    首先放置一个ADOConnection控件ADOConnection1;
    然后双击该控件,在弹出窗口中选择build..按钮;
    在弹出的“数据连接属性”框中的“提供程序”页选择并双击:“Microsoft Jet 4.0 OLE DB Provider”到连接页;
    选择或输入数据库名称,测试一下就OK了;
    如果有密码,就在“数据连接属性”对话框选择“所有”(*特别注意:不是在“连接”页上去掉“空白”钩填密码的*)页在属性值中输入你的密码。
    LoginPrompt设为false,就不会弹出密码框了。然后放置一个ADOQuery1,将Connection 设为ADOConnection1;
    在SQL属性上点三个点的小按钮,输入:select * from 表名;再放一个DataSource1:
    Dataset属性设为ADOQuery1;再放一个DBGrid1:
    DataSource属性设为DataSource1;选择ADOQuery1,将Active设为True;DBGrid1中是不是显示了数据.更多事例见:http://www.kaer.cn/default.aspx
      

  10.   

    如果有密码,就在“数据连接属性”对话框选择“所有”(*特别注意:不是在“连接”页上去掉“空白”钩填密码的*)页在属性值中输入你的密码。
    LoginPrompt设为false,就不会弹出密码框了。
      

  11.   

    DataBase PassWord设置你成你ACCESS将访问的密码
      

  12.   

    你可能是原来设过密码后来删除了,然后又设了一次吧,我就这样出现的你说的工作组文件错误。你在ADOCON的连接字符串中手工加密码,不要用向导。老王教我的,我修复了。
      

  13.   

    设置dataBase Password的值就可以了,在“连接设置”的对话框中