如何用程序打开带有密码的access2000数据库(100分)

  • 主题发起人 主题发起人 bigbug
  • 开始时间 开始时间
B

bigbug

Unregistered / Unconfirmed
GUEST, unregistred user!
我用access2000做了一个数据库,加了一个密码,但是不管connectionstring怎么设置,都
无法打开,出现的错误提示:无法启动应用程序,工作组信息文件丢失,或者被其他用户
以独占方式打开。
 
可能是--你是在IDE中调试,而源程序中的ADOConnection的Connection为 True !!!
这时就有两个程序打开这个库了,即:Delphi自己(你的Connection为True嘛)另一
个就是你调试运行的程序。
当你的程序运行时,由于表已经被Delphi打开,它就出现上述提示了。
解决办法:
1、退出Delhpi,单独运行这个程序。
2、改源程序,将Connection设为False,而在DataModule建立后再连接它。
 
>>无法启动应用程序,工作组信息文件丢失,或者被其他用户以独占方式打开。
没看清楚,还有一种可能,参见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=549590
 
不是可以测试连接吗?如果你密码不对就不可以再打开了,于是出现你所说的现象,
这时好象只有重起机器才有用,不知是不是DELPHI的BUG。
 
function getCurPath: string;
begin
Result := ExtractFilePath(Application.ExeName);
end;

procedure InitDB(strInit: string);
var i: integer;
begin
with ADOConnection1 do
begin
if Connected then Connected := false;
if strInit <> '' then ConnectionString := strInit;
Open;
end;


strConn := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + GetCurpath + 'CNFJWD.MDB;Jet OLEDB:Database Password=''' + '2+3+4=6?no''' + '; Persist Security Info=False';
try
InitDB(strConn);
except
ShowMessage('初始化数据库时出错! ' + strConn);
end;
 
在connectionstring中你的密码没设好
应该设置Database Password
而不是Password
 
我也碰到这个问题,可能是delphi bug
你可以这样处理:直接在connectionstring后加Jet OLEDB:Database Password='口令' 即可
 
结束了!
时间太久
 
后退
顶部