PB应用系统使用 ACCESS数据库提示出错

[复制链接]
查看11 | 回复10 | 2021-1-27 06:01:35 | 显示全部楼层 |阅读模式
PB应用系统使用ACCESS数据库db.mdb,采用开机自动登录,在开机自动登录启动时提示:找不到文件'C:\Windows\System32\db.mdb'。如果手动打开没有问题,如何处理?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
在程序里判断一下件'C:\Windows\System32\db.mdb'是否存在,不存在就延时,直到存在.
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
修改一下程序,把连接事务里的mdb文件名称改成带有绝对路径的名称。
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
其实下列的语句我设置有绝对路径(gs_curdir)了的,但还是提示上面的错误。
sqlca.dbms="ODBC"
sqlca.AutoCommit=false
sqlca.dbparm="connectstring='driver=microsoftaccessdriver(*.mdb);dbq="+gs_curdir+"\db.mdb'"
Connectusingsqlca;
ifsqlca.sqlcode=-1then
messagebox('提示信息','系统无法连接到参数表!')
haltclose;
endif
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
应该是gs_curdir出了问题,
可以在connect前写messagebox('gs_curdir',gs_curdir)
看看它的路径指在哪里了。
另:
ODBC连接MDB数据库的话,可以用配置ODBC数据源的方式。而不要使用直接连接文件的方式。
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
messagebox('gs_curdir',gs_curdir)提示的内容gs_curdir前没有错,其实在WINDOWS登录正常后手动打开程序是没有错的,因为程序采用“开机登录时自动运行”--当在开机自动运行才出现错误,程序正常运行并没有出错的,所以您指的并不存在。
引用4楼wag_enu的回复:应该是gs_curdir出了问题,
可以在connect前写messagebox('gs_curdir',gs_curdir)
看看它的路径指在哪里了。
另:
ODBC连接MDB数据库的话,可以用配置ODBC数据源的方式。而不要使用直接连接文件的方式。

回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
应该还是路径等问题
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
引用5楼blpig的回复:messagebox('gs_curdir',gs_curdir)提示的内容gs_curdir前没有错,其实在WINDOWS登录正常后手动打开程序是没有错的,因为程序采用“开机登录时自动运行”--当在开机自动运行才出现错误,程序正常运行并没有出错的,所以您指的并不存在。
引用4楼wag_enu的回复:
应该是gs_curdir出了问题,
可以在connect前写mes……

写上messagebox(....)后,试过编译了放在开机时运行吗?
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
直接延时其实启动不就行了,是win7的最方便了,计划可以设定延时启动
回复

使用道具 举报

千问 | 2021-1-27 06:01:35 | 显示全部楼层
确定是gs_curdir出问题了的,如果放在启动项里面,通过getcurrentdirectory取到的不一定是exe所在的路径,这个与你去双击这个程序是无关的,
因为getcurrendirectory取的到实际是快捷方式里面的workdirectory,而在启动项中这个是系统路径
一般通用的启动项做法是通过
FUNCTIONulongGetModuleFileName(ulonghModule,refstringlpFileName,ulongnSize)LIBRARY"kernel32.dll"ALIASFOR"GetModuleFileNameA"
得到exe文件路径,在从中去截取当前应用的运行路径

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行