关于delphi访问access数据库的问题(0分)

  • 主题发起人 主题发起人 zxjnfs
  • 开始时间 开始时间
Z

zxjnfs

Unregistered / Unconfirmed
GUEST, unregistred user!
我用adoconnection访问access时,connectionstring中用的是access的绝对路径,
如何在代码中实现用相对地址??
还有就是用delphi做access的应用程序,打包时应包含那些系统文件??
 
你可以动态生成connectionstring,这个可能对你有用
ExtractFilePath(Application.ExeName)返回字符串
只要系统中安装有ADO就行了
 
我是这样做的,供参考:
1、ADO组件的连接参数存放于一个地方;
2、编写ADO组件的BeforeConnection或BeforeOpen事件句柄,设置连接参数;
3、连接。
 
var
mainstr : string;
begin
GetDir(0, maindir);
query := TADOQuery.Create(nil);
query.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
maindir + '/fileindex.mdb;Persist Security Info=False';
adoconnection也一样,我在程序里用到过![:D]
end;
 
var
s:string;
begin
s:=extractfilepath(application.exename)+'database/LuRuSuCaiKu.mdb';
LuRuXinXiConnection.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+s+';Persist Security Info=False';
LuRuXinXiConnection.Connected:=true;
end;
 
我没用ADO。只这样就简单搞定。
我用
with DataBase1 do
begin
Close;
Params.Clear;
Params.Values['DATABASE NAME']:=你的路径;
Params.Values['OPEN MODE']:='WRITE';
end;
Query1.DatabaseName:=DataBase1.DatabaseName;
Query2.DatabaseName:=DataBase1.DatabaseName;
.....
在DataBase1的数据库类型中只设如ACCESS之类的就行了
这种方法唯一的问题就是在安装此程序的电脑上要安装OFFICE97

 
要源代码的话,就去下左轻候的离线浏览器吧
 
adoconnection1的部分代码:
var
location:string;
begin
location:=edit3.text;
with adoconnection1 do begin
close ;
connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+''''+location+''''+';Persist Security Info=False';
open;
打包时不需要任何多余的文件,如果不能运行,装一个新的MDAC(WWW.MICROSOFT.COM)
 
后退
顶部