我用以下方法,大家看是不是最好的: 用 Delphi 编制的数据库应用程序,由于在设计环境下可以直接连接数据库和激活 DataSet 组件,所以,如果不做适当的处理,发行版的程序还必须放置在与开发环境相同的路径下才能运行,程序如果放到别的分区(盘符不同)或别的文件夹下,就会提示找不到原数据库路径。 解决办法是: 在设计环境的开发调试阶段,可以按常规处理,但是在程序开发完成,准备发行的时候,把所有的数据库连接组件的 KeepConnection 属性设置为 False,同时把所有的 DataSet 的 Active 属性设置为 False,然后在组件所在窗体的 Activate 事件中编写代码: sDBPath := extractFilepath(application.ExeName) + 'database.mdb';
ADODataSet1.Active := false;
ADODataSet2.Active := false;
ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=' + sDBPath +';';
ADOConnection1.Connected := true;
ADODataSet1.Active := true;
ADODataSet2.Active := true; 注:以 ADO 连接 Access 数据库为例,数据库连接组件为 ADOConnection1,有 2 个 ADODataSet,为 ADODataSet1 和 ADODataSet2。
(摘自“十万个为什么”电脑学习网:http://why100000.com)
ADODataSet1.Active := false;
ADODataSet2.Active := false;
ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=' + sDBPath +';';
ADOConnection1.Connected := true;
ADODataSet1.Active := true;
ADODataSet2.Active := true; 注:以 ADO 连接 Access 数据库为例,数据库连接组件为 ADOConnection1,有 2 个 ADODataSet,为 ADODataSet1 和 ADODataSet2。
(摘自“十万个为什么”电脑学习网:http://why100000.com)
解决方案 »
- list index out of bounds(8)
- 一个很简单的问题~~
- 如何将设置一个表TABLE1的FILTER的属性,让字段名"供应商代码"包含字符"A-"?
- 如何把 图片(主要bmp,jpg)存到数据库里面!!!---在线等待,100分相送
- 请教一下各位,DLL的制作,加载,使用,最好有个例子简单一些好了
- 超简单的为题
- 请问如何用adotable查找表中某一字段中符合要求的记录?
- 如何使自己的delhi水平越来越厉害呢?
- 主健是不是索引??是的话偶怎么在indexname里找不到他呢?如何指定主健为索引??偶已经在access里设置了主健,就是在delphi里找不到//牛虻
- 我来报到,希望能加入你们.
- 请问在adodataset里边怎么将filter出来的结果放进另外一个adodataset?
- delphi7怎样怎样制作在线升级程序??
像使用Access这种数据库,连接数据库使用相对路径