关于Access数据库路径在程序中被更改的问题

ninansky 2006-05-03 04:51:13
本人在做一个管理系统,在程序中有一段程序要把图片导入到窗口的Picturn Control中,代码如下
string pic_filename,pic_fullname
int fileid
blob emp_pic
if getfileopenname("open",pic_fullname,pic_filename,"jpg",&
"Jpg文件(*.jpg),*.jpg,"+ &
"Bmp文件(*.bmp),*.bmp",".\photo")<1 then return
end if
fileid=fileopen(pic_fullname,StreamMode!)
pic_path=pic_fullname
if fileid<>-1 then
fileread(fileid,emp_pic)
fileclose(fileid)
p_photo.setpicture(emp_pic)
end if
当执行过这段代码后,再点击保存按钮要将数据保存到数据库中,但却提示数据库路径错误
提示如下:
ODBC Microsoft Access驱动程序登录失败
在提示中可以看到原来数据库所在的.\database目录被改为了.\photo\database目录
因此目录出错,数据库连接失败

是不是在打开图片完了以后还要加上什么语句呢?

请教大家解决的方法,先谢过了!!!!!!
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wfliu 2006-05-05
  • 打赏
  • 举报
回复
出现这种问题的原因是你调用getfileopenname()时,就修改了默认路径,而你数据库文件的访问是采用相对路径,不是绝对路径,所以修改了默认路径后找不到数据库。
ninansky 2006-05-04
  • 打赏
  • 举报
回复
好了,谢谢两位,能再问个问题吗,为什么会出现这样的情况,能讲一下原因吗,是否有其它预防方法呢?????
wfliu 2006-05-03
  • 打赏
  • 举报
回复
开始前先取得当前路径 ls_cd = GetCurrentDirectory()

程序段结束后再设回当前路径 ChangeDirectory ( ls_cd )

就可避免程序运行时修改了当前路径。
belsai 2006-05-03
  • 打赏
  • 举报
回复
在程序开始时先用GetCurrentDirectory()函数读出当前应用的绝对路径并保存到一个全局变量中,在以后需要调用的文件路径前都加上这个绝对路径就不会再出错了。
《C#程序开发范例宝典》(09章)的源码 第9章 数据库技术 355   9.1 连接Access数据库 356   实例254 连接Access数据库 356   实例255 连接加密的Access数据库 357   实例256 自动识别Access 2000数据库路径 358   实例257 连接网络上共享的Access 2000数据库 360   9.2 连接SQL Server数据库 361   实例258 使用ODBC DSN连接SQL Server数据库 361   实例259 使用ODBC非DSN连接SQL Server数据库 364   实例260 使用OLE DB连接SQL Server数据库 365   实例261 建立SQL Server数据库连接 366   9.3 连接其他数据库 367   实例262 连接Excel 367   实例263 连接Oracle数据库 368   9.4 数据库结构的读取与修改 369   实例264 读取SQL Server数据库结构 369   实例265 修改SQL Server数据库结构 372   9.5 数据录入 374   实例266 利用数据绑定控件录入数据 374   实例267 使用ADO NET对象录入数据 376   实例268 利用SQL语句录入数据 379   实例269 利用存储过程录入数据 380   9.6 图片存取技术 383   实例270 使用存取文件名的方法存取图片 383   实例271 使用ADO NET对象向SQL Server数据库存入图片 384   9.7 数据修改 387   实例272 利用数据绑定控件修改数据 387   实例273 利用数据对象修改数据 390   实例274 利用SQL语句修改数据 391   实例275 利用存储过程修改数据 393   9.8 数据保存前判断 395   实例276 判断输入数据是否符合要求 395   实例277 通过存储过程实现自动编号 398   9.9 数据删除 401   实例278 删除表格指定的记录 401   实例279 利用SQL语句删除数据 402   9.10 数据记录 403   实例280 分页显示信息 403   实例281 移动记录 404   9.11 数据维护 406   实例282 在C#分离SQL Server数据库 406   实例283 在C#附加SQL Server数据库 407   实例284 在C#附加单文件SQL Server数据库 409   9.12 数据备份恢复 410   实例285 备份SQL Server数据库 410   实例286 还原SQL Server数据库 413   9.13 管理系统开发相关 415   实例287 开启SQL Server数据库 415   实例288 断开SQL Server数据库与其他应用程序的连接 417   实例289 带图像列表的系统登录程序 419   实例290 利用SQL语句执行外围命令 420   实例291 系统初始化 421

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧