关于数据库安装路径问题 本人刚学delphi,对于数据库的连接路径问题不懂,哪位高手能告诉我。客户在安装软件时不一定放在哪个地方所以数据库的路径是可变的,数据库的路径不一定是哪个盘下有可能是C或D等,请问在编程时,应怎样解决这个问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 smm:='AAAA';//密码 try G_StrExePath:=ExtractFilePath(Application.ExeName);//程序运行路径 sdbpath:=G_StrExePath+'data\dbexer.mdb';//数据库名称 sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+ 'User ID=Admin;Data Source='+sdbpath+';'+ '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='+smm+';'+ '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'; if DM1.ADOCn1.Connected = True then DM1.ADOCn1.Connected:=False; DM1.ADOCn1.ConnectionString:=sconstr; DM1.ADOCn1.Connected:=True; 其实你可以将数据库放在本程序的目录下面:例如程序在e:\soft\下,而数据库在e:\soft\database\DB.MDB指定Exe_path:='E:\SOFT\'数据库路径DB_path:=Exe_path+'database\DB_NAME.MDB'你可以用ExtractFilePath(ParamStr(0))得到程序所在的路径,然后再写ADO的connectionstring。procedure Tf_login.Button1Click(Sender: TObject);begin ADOConnection1.ConnectionString:= ' Provider=Microsoft.Jet.OLEDB.4.0; ' +' Data Source= ' + ExtractFilePath(ParamStr(0))+'database\DB_NAME.MDB; ' +' Persist Security Info=False; '; ADOConnection1.Connected:=true;end; 记得将ADOconnection的LoginPrompt设置成False; Delphi可以不写类只写方法吗? TTable 访问问题(oracle database link) 欢迎大学访问www.51cv.com www.51cv.net最近出来的简历网站 ExpressQuantumGrid 5谁安装了 请教模拟按键的问题 怎么知道记录的特定字段改变了? 请问出现未注册类型,一般是怎么搞的? 关于delphi安装的问题,进者有分,今天结帐 针对DBNavigator的点击事件如何编程呢 深度历险怎么没有了? mscom怎么用? 关于文档中的字符替换
try
G_StrExePath:=ExtractFilePath(Application.ExeName);//程序运行路径
sdbpath:=G_StrExePath+'data\dbexer.mdb';//数据库名称
sconstr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;Data Source='+sdbpath+';'+
'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='+smm+';'+
'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';
if DM1.ADOCn1.Connected = True then DM1.ADOCn1.Connected:=False;
DM1.ADOCn1.ConnectionString:=sconstr;
DM1.ADOCn1.Connected:=True;
指定Exe_path:='E:\SOFT\'
数据库路径DB_path:=Exe_path+'database\DB_NAME.MDB'你可以用ExtractFilePath(ParamStr(0))得到程序所在的路径,然后再写ADO的connectionstring。procedure Tf_login.Button1Click(Sender: TObject);
begin
ADOConnection1.ConnectionString:=
' Provider=Microsoft.Jet.OLEDB.4.0; '
+' Data Source= '
+ ExtractFilePath(ParamStr(0))+'database\DB_NAME.MDB; '
+' Persist Security Info=False; ';
ADOConnection1.Connected:=true;end;