CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

如何用ADO控件打开有密码的Access数据库?

楼主Triumph(夜雨)2001-06-12 10:23:00 在 Delphi / 数据库相关 提问

在设计时直接设置好参数,测试连接时如不填密码,显示错误信息为“无效密码”,填入正确密码后再测试连接,显示错误信息为“不能连接...”(后面的信息我忘了,总之是出错)。这是怎么回事,该怎样设置? 问题点数:20、回复次数:8Top

1 楼myxfang(海风)(大富翁银行)回复于 2001-06-12 10:36:00 得分 0

Access版本不一样,请注意是Access2000还是Access97?  
  如果还有问题,请重新装Access!  
  Top

2 楼Triumph(夜雨)回复于 2001-06-12 10:53:00 得分 0

数据库是   Access97   数据库,用   Access97   和   Access2000   打开时提示输入密码,输入正确密码后即可打开,都没问题。  
  程序中的   Ado   使用的是   Jet   4.0,打开不带密码的数据库时无论是   Access97   还是   Access2000   的都没问题。Top

3 楼myxfang(海风)(大富翁银行)回复于 2001-06-12 14:30:00 得分 0

Delphi不支持Access2000(带密码),Ado   其实可以通过odbc,不要通过Jet   4.0就可以!Top

4 楼fontain()回复于 2001-06-12 18:37:00 得分 20

假设你的数据库是     行情.mdb  
  密码是   1234567  
  则  
  connectstring为:  
  Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=C:\WINDOWS\Desktop\行情.mdb;Persist   Security   Info=False;Jet   OLEDB:Database   Password=1234567  
  Top

5 楼fontain()回复于 2001-06-12 18:41:00 得分 0

密码别填在密码框中,填在所有选项卡的database   password里  
  有问题在联系:fontain@km169.netTop

6 楼tzchu(鸭子)回复于 2001-06-12 19:05:00 得分 0

请参照我用BDE纺的程序  
   
  Function   Tfmcenter.Getaccpass(var   path:string):string;  
  const  
          xorString:array[0..12]of   byte=  
              (   $86,   $FB,   $EC,   $37,  
                  $5D,   $44,   $9C,   $FA,  
                  $C6,   $5E,   $28,   $E6,$13   );     //SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_SCREENSAVE,0);  
  var  
          passBuf:array[0..14]of   byte;  
          pass:array[0..14]of   char;  
          B:Byte;  
          F:TFileStream;  
          I:integer;  
  begin  
        F:=TFileStream.Create(path,fmShareDenyNone);  
        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;  
          result:=StrPas(Pass);  
        finally  
            F.Free;  
        end;                                                    
      end;  
  Top

7 楼myxfang(海风)(大富翁银行)回复于 2001-06-12 21:34:00 得分 0

fontain()解答的对!佩服佩服!Top

8 楼Triumph(夜雨)回复于 2001-07-04 23:36:07 得分 0

To   fontain:  
      你说的非常正确,非常感谢.  
   
      我的机子不知怎么回事,老是不能显示加分的编辑框.等过一段再试试.Top

相关问题

  • 用Delphi ADO控件解Access数据库
  • Foxpro 数据库应该使用ADO数据库控件还是Data Access控件好?为什么?
  • 【用ADO控件连接ACCESS数据库的问题】
  • 在DELPHI中如何用ADO控件打开带密码的ACCESS数据库?
  • ADO控件连数据库的问题
  • ADO连接Access数据库
  • 用vb开发数据库程序时,用ADO控件连接Access数据库,用数据库绑定控件时总是出现“From子句语法错误!”是什么原因?
  • 急急急。在VB中用ADO控件连接Access数据库连接后怎样才能模糊查询
  • 谁能提供一些使用access数据库及ado控件编程的一些注意事项,thanks!
  • 如何用VB里面的ADO控件,打开一个加密的access数据库?

关键词

  • 密码
  • 数据库
  • ado
  • access
  • 连接
  • 信息
  • passbuf
  • 打开
  • jet
  • pass

得分解答快速导航

  • 帖主:Triumph
  • fontain

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo