我在VC编程中,发现了一个怪现象,我是用ADO打开数据库,其连接字符串如下:
Provider=msdasql.1;dsn=ms access database;dbq=logon.mdb;uid=;pwd=422700;所用的数据库文件即是可执行文件同一目录下的logon.mdb;当没有进行文件存取时,连接数据不出错。但一旦进行了文件存取,即报错“找不到文件”。
如果将连接字符串改为:
Provider=msdasql.1;dsn=ms access database;dbq=e:\logon.mdb;uid=;pwd=422700;
则进行文件操作,不影响对数据库的连接。
我怀疑,程序在对文件进行了存取后,已经将目录转到了刚刚操作过的文件那里。而不是在可执行文件的目录下,因此,出现了找不到数据库文件的情况。
怎样将目录转变过来?
Provider=msdasql.1;dsn=ms access database;dbq=logon.mdb;uid=;pwd=422700;所用的数据库文件即是可执行文件同一目录下的logon.mdb;当没有进行文件存取时,连接数据不出错。但一旦进行了文件存取,即报错“找不到文件”。
如果将连接字符串改为:
Provider=msdasql.1;dsn=ms access database;dbq=e:\logon.mdb;uid=;pwd=422700;
则进行文件操作,不影响对数据库的连接。
我怀疑,程序在对文件进行了存取后,已经将目录转到了刚刚操作过的文件那里。而不是在可执行文件的目录下,因此,出现了找不到数据库文件的情况。
怎样将目录转变过来?
解决方案 »
- DShow 支持NV12
- opencv 2.x 中 用 Mat 存储数据问题
- VC 2008 建立控件关联后,调用UpdateData(),发现并没有更新关联变量的值?
- 求救 一个 菜单问题
- [线程]"不断"开新线程的效率怎样,ps:开的线程会自动结束
- 各位,客户端如何将BMP图片传给服务器,并在服务器上立即显示出来,务必请帮帮忙!!!
- BCGControlbar的问题
- 为什么我画透明位图,重画了n次后,位图会显示为黑色,重画次数少没问题
- 怎样将参数传给调用的进程?急...
- 有关在对话框上画位图的问题!
- 请问谁知道word文件的体系结构?
- Tip of the day 在 Windows XP下显示异常的问题!
GetModuleFileName 和GetCurrentDir都可以
CString sIniFilePath;
CString sModFileName;
GetModuleFileName(NULL, sModFileName.GetBuffer(MAX_PATH), MAX_PATH);
sModFileName.ReleaseBuffer();
sModFileName.MakeReverse();
sIniFilePath = sModFileName.Right(sModFileName.GetLength() - sModFileName.Find('\\'));
sIniFilePath.MakeReverse();
-----------------------------------
sIniFilePath就是你要得的路径