vb 做了个小软件,有数据库,在自己电脑上生成的exe可以用,在别人的电脑上就会显示数据库路径不对
答案:3 悬赏:20 手机版
解决时间 2021-02-24 04:39
- 提问者网友:疯子也有疯子的情调
- 2021-02-23 08:26
请问怎么解决?
最佳答案
- 五星知识达人网友:逃夭
- 2021-02-23 09:58
程序中涉及到数据连接的字符串都要更换为相对的数据路径.
如:
在你的电脑上,连接数据的路径是: D:\123.mdb, 当你把编译好的软件拷贝到其它电脑上时候
要么,还是把数据库文件拷贝到相同的目录(D:\123.mdb)
要么,就把程序中有关连接数据库的字符串更新到确定的目录.
一般的做法是:把数据库文件放在自己系统的目录下,在系统中先定义一个 变量来记录数据库的路径:
Public AppPath as Stting
Public DataName as string
If Right$(App.Path, 1) <> "\" Then
AppPath = App.Path + "\"
Else
AppPath = App.Path
End If
DataName = AppPath + "123.mdb"
这样在系统中就可以用DataName 变量来给数据库赋值了.
如界面中Data数据控件初始化
With Data1
.DatabaseName = DataName
.RecordSource = "SELECt * FROM 数据表'"
.Refresh
End With
如:
在你的电脑上,连接数据的路径是: D:\123.mdb, 当你把编译好的软件拷贝到其它电脑上时候
要么,还是把数据库文件拷贝到相同的目录(D:\123.mdb)
要么,就把程序中有关连接数据库的字符串更新到确定的目录.
一般的做法是:把数据库文件放在自己系统的目录下,在系统中先定义一个 变量来记录数据库的路径:
Public AppPath as Stting
Public DataName as string
If Right$(App.Path, 1) <> "\" Then
AppPath = App.Path + "\"
Else
AppPath = App.Path
End If
DataName = AppPath + "123.mdb"
这样在系统中就可以用DataName 变量来给数据库赋值了.
如界面中Data数据控件初始化
With Data1
.DatabaseName = DataName
.RecordSource = "SELECt * FROM 数据表'"
.Refresh
End With
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-02-23 11:05
不要用绝对路径,用相对路径:如: App.Path & "\xx.mdb"
- 2楼网友:醉吻情书
- 2021-02-23 10:17
可能你的app.path不定,当前路径,而非应用程序路径,微软骗了你。
你可以采用别的方法
绝对不要用dao了,尽量不用odbc,推荐ado或者old db,我的方法是把连接信息放在一个文件中,例如:toolinfo.dsn、toolinfo.udl,在连接前修改此文件的数据库文件路径信息。
或者直接在ado连接字符串中构造。
conn = "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "\hgpx.mdb" & ";persist security info=false"
用的是ado
good luck 如果有什么不明白的,可以给我流言,几乎经常在线
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯