小弟做了一个数据库的小软件,是用adoquery+access2000,在自己的机子上能运行,打包后在别人的机子上安装后,不能运行,也没出现什么错误提示,请问我该如何打包?
解决方案 »
- MyStoredProc存储过程 输出函数,如何调用?
- 如何清空timage和tpaintbox还有Tbitmap的内容? 急!!
- TdxOrgChart 两个特殊的节点之间 不画线
- 向高手请教XP风格菜单设计的问题
- 编程爱好者网站 http://www.programfan.com
- 怎样动态设置suiForm的UIStyle属性
- 怎样关联两个表查询字段a的植相等的所有信息并将相同的字段只显示一次
- 如何做拖动效果?
- 将面向对象的思想贯穿始终--谈Delphi开发(提高篇)
- 如何截获退出windows的消息?
- 关于Timer(非简单问题!)
- 高手近来拿分,请教一个算法问题,共开三帖,每帖一百分。
实在不行的话再打包进去一个MDAC2.7(ADO的最新驱动).
我想你一定是设置了ACCESS的绝对路径程序启动的时候用ExtractFilePath(Application.ExeName)取得的路径设置好了
何谓绝对路径?假设我的access数据库的路径是E:\a\mingpian.mdb,那么将其拷到他人
机子上时,是否也要将access数据库的路径设置为E:\a\mingpian.mdb呢?能不能说仔细点,
谢谢!
当然了,这样的话,如果安装到别人的机器上的时候,路径改变后就不能运行了;你可以在程序中设定路径:
var
DBPath:string;
DBPath:=ExtractFilePath(Application.ExeName)+'\你数据库路径\mingpian.mdb';这里ExtractFilePath(Application.ExeName)表示的是你应用程序可执行文件的路径信息,他是一个string类型;
发布access不需要额外的文件,你的数据库+应用程序(ADO)即可,但是这取决于你连接方式,bde或odbc就麻烦一些!
2﹑在程序中連接數據庫前更改adoconnection的connectionstring:
v_path:=ExtractFilePath(Application.ExeName)+'你的ACCESS數據庫文件名';//(例如﹕
E:\a\mingpian.mdb,e:\a就是你的程序目錄)
adoconnection1.connected:=false;
adoconnection1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+v_path+';Persist Security Info=False';
adoconnection1.connected:=true;
3﹑如果這樣還是不行﹐說明你的電腦沒有ADO的驅動吧﹐裝一個MDAC2.7就好了﹐。