各位师兄:
好啊,N久没搞ACCESS数据库了,最近碰到一个奇怪的问题:
我在ACCESS数据库中设置了密码,然后用ADO去连接这个数据库,
在ADO的用户名(默认的Admin)和密码(就是自设定的密码啦)中填写后,
测试连接却一直跳出错误提示:文件群组错误,或其他用户以独占方式打开。可是问题是我已经将ACCESS关闭啦,何为其他用户以独占方式打开的问题呢
(吓得偶把机子都重启了一下,可问题依旧),文件的路径也肯定没错,
因为偶只要把数据库的密码取消就一切正常了。百思不得其解,望各位仁兄指点迷津,谢谢了先。
好啊,N久没搞ACCESS数据库了,最近碰到一个奇怪的问题:
我在ACCESS数据库中设置了密码,然后用ADO去连接这个数据库,
在ADO的用户名(默认的Admin)和密码(就是自设定的密码啦)中填写后,
测试连接却一直跳出错误提示:文件群组错误,或其他用户以独占方式打开。可是问题是我已经将ACCESS关闭啦,何为其他用户以独占方式打开的问题呢
(吓得偶把机子都重启了一下,可问题依旧),文件的路径也肯定没错,
因为偶只要把数据库的密码取消就一切正常了。百思不得其解,望各位仁兄指点迷津,谢谢了先。
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=admin;Data Source=' + ExtractFilePath(application.ExeName) + 'WDT500A.mdb;Persist Security Info=True;Jet OLEDB:Database Password=quanqing123
你的数据库密码是DataBase Password
而不是Password
Jet OLEDB:DataBase Password=密码
2,在FORM中放入ADOConnection,ADOQuery,DataSource,Datagrid控件。
3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择“Microsoft Jet 4.0 OLE DB Provider”,然后点击“下一步”按钮,在“连接”页中选择要连接的Access数据库的路径和数据库的文件名,这时如果点“测试连接”按钮时,出现“初始化提供者时发生错误,测试连接失败,密码无效”的错误提示。
4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。把ADOConnection控件的LoginPromtp设为false.
5,设置连接完成。with ADOConnection1 do
begin
ConnectionString := 'Provider = MicroSoft.jet.OLEDB.4.0;'+
'Persist Security Info = False'+
'Data Source=D:\*.mdb;'+//数据库本地目录
'Mode = ReadWrite;'+
'Jet OLEDB:Database Password=*****;'// 加入密码
Connected := True;//Open DataBase
end;用:ADOConnection1链接数据库 ,d在窗体的show事件中:(注:ADOConnection1的ConnectionString属性要清空,否则会出错!),试试吧!j:='provider=Microsoft.Jet.OLEDB.4.0;user ID=Admin;Data Source='
+ExtractFilePath(Application.ExeName)+'Database.mdb;'
+'Mode=Share Deny None;Extended Properties="";'
+'Jet OLEDB:System database="";'
+'Jet OLEDB:Registry Path="";'
+'Jet OLEDB:Database Password="123";' //设定密码为123
+'Jet OLEDB:Engine Type=5;'
+'Jet OLEDB:Database Locking Mode=1;'
+'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'; ADOConnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:=j;
sConnectString:WideString;
sPath :string;
begin
sPath:=ExtractFilePath(Application.ExeName);
sConnectString:='Provider='+ReadIniFile(sPath,'DateBase','Provider')
+'Data Source='+ReadIniFile(sPath,'DateBase','Data Source')+'Persist Security Info='
+ReadIniFile(sPath,'DateBase','Persist Security Info')+'Jet OLEDB:Database Password=amw';
try
adcon_main.ConnectionString:=sConnectString;
adcon_main.Connected:=True;
except
Application.MessageBox('数据库连接失败','提示信息',0);
Halt;
end;