delphi用ado方式连接一有密码的access数据库,用户id应为什么,我试过'admin'和'管理员'都不对 delphi用ado方式连接一有密码的access数据库,用户id应为什么,我试过'admin'和'管理员'都不对 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在ado的连接属性中的最有一个tab中有一个password的属性,在那里添上你的密码就可以了,不用任何登陆名 晕,,又是ADO连ACCESS密码问题,回答百遍了 解决ADO连接带密码的ACCESS数据库问题 高红岩 (ghyghost) 笔者近日在写ADO连接带密码的ACCESS数据库时,当connected:=true;时,总是出现密码不对的对话框,最终在研究了TADOConnection.ConnectionString的内容创建过程时得到灵感,现与大家分享。 1,新建Project。 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,设置连接完成。 ghyghost(爱国人士)说的甚是 access好象没有用户的概念 只要密码对 谁都可以打开我用的时候都是只接写密码进去的 //使用ADO控件集动态打开ACCESS数据库列程//本方法主要面向客户选择目标ACCESS数据库//取代弹出的ConnectionString的设置对话框//注:ADOTable和ADOQuery控件的连接字串不同//著名关心CSDN结贴率爱国人士-实用库Tip No 1 - 2003-9-25function FileName_DataBasePassWord(FileName:string; DataBasePassWord:string=''):string;beginFileName_DataBasePassWord:='Provider=Microsoft.Jet.OLEDB.4.0;'+ 'User ID=Admin;Data Source='+ form1.OpenDialog1.FileName+ //数据库文件路径 ';Mode=Share Deny None;Extended Properties="";'+ 'Jet OLEDB:System database="";'+ 'Jet OLEDB:Registry Path="";'+ 'Jet OLEDB:Database Password='+ DataBasePassWord+ //数据库密码 ';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';end;procedure TForm1.DynamicOpenAdoAccess_BtnClick(Sender: TObject);begin form1.OpenDialog1.Filter:='Text files (*.mdb)|*.MDB'; form1.OpenDialog1.DefaultExt:='MDB'; form1.OpenDialog1.InitialDir:=application.GetNamePath; form1.OpenDialog1.Title:='指定Access数据库Mdb文件的位置'; if form1.OpenDialog1.Execute then begin form1.ADOConnection1.LoginPrompt:=false; //带密码数据库的使用 //form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName,'ghyghost'); //不带密码数据的使用 form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName); form1.ADOConnection1.Open; form1.ADOQuery1.open; //ADOQuery1's SQL Properties is 'select * from [tablename]' end;end;//﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏//天天蹬三轮-虽然很累-但很充实// 如何把光标移动到一个运行的程序或是打开的文件上? delphi2007 汉语注释显示不全的问题 如何在 第一时间 获取U盘 插入 与 拔出 事件? 请教安装FastReport组件的问题 谁有 delphi 大整数运算库程序啊(用字符串实现很大的字符加减乘除),发个给我好吗?急死俺了!!! 问一个ListView问题 一个“运行时的错误提示”问题——————在线等待!!! 如何读取资源文件里的图标 如何实现? 如何将大的*.bmp位图文件压缩成小文件传输到网络 paradox配置的数据库出了问题 一个奇怪的错误
高红岩 (ghyghost)
笔者近日在写ADO连接带密码的ACCESS数据库时,当connected:=true;时,总是出现密码不对的对话框,最终在研究了TADOConnection.ConnectionString的内容创建过程时得到灵感,现与大家分享。
1,新建Project。
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,设置连接完成。
说的甚是
//本方法主要面向客户选择目标ACCESS数据库
//取代弹出的ConnectionString的设置对话框
//注:ADOTable和ADOQuery控件的连接字串不同
//著名关心CSDN结贴率爱国人士-实用库Tip No 1 - 2003-9-25
function FileName_DataBasePassWord(FileName:string; DataBasePassWord:string=''):string;
begin
FileName_DataBasePassWord:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;Data Source='+
form1.OpenDialog1.FileName+ //数据库文件路径
';Mode=Share Deny None;Extended Properties="";'+
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password='+
DataBasePassWord+ //数据库密码
';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';
end;procedure TForm1.DynamicOpenAdoAccess_BtnClick(Sender: TObject);
begin
form1.OpenDialog1.Filter:='Text files (*.mdb)|*.MDB';
form1.OpenDialog1.DefaultExt:='MDB';
form1.OpenDialog1.InitialDir:=application.GetNamePath;
form1.OpenDialog1.Title:='指定Access数据库Mdb文件的位置';
if form1.OpenDialog1.Execute then
begin
form1.ADOConnection1.LoginPrompt:=false;
//带密码数据库的使用
//form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName,'ghyghost');
//不带密码数据的使用
form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName);
form1.ADOConnection1.Open;
form1.ADOQuery1.open; //ADOQuery1's SQL Properties is 'select * from [tablename]'
end;
end;//﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏
//天天蹬三轮-虽然很累-但很充实
//