m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\db.mdb","","",adModeUnknown);//连接数据库
上面我用的是绝对路径"c:\\db.mdb",我想把数据库放到程序的一层目录里面,想用相对路径即"db.mdb"但是我发现如果再这条语句之前有浏览目录的操作时,相对路径就会改变,请问如何解决?
或者如何得到程序的一层目录?
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\db.mdb","","",adModeUnknown);//连接数据库
上面我用的是绝对路径"c:\\db.mdb",我想把数据库放到程序的一层目录里面,想用相对路径即"db.mdb"但是我发现如果再这条语句之前有浏览目录的操作时,相对路径就会改变,请问如何解决?
或者如何得到程序的一层目录?
解决方案 »
- 关于编程的一些疑惑
- MDI子窗口初始化为最大化时的问题
- Win7的计算器,标准型和科学型切换是怎么实现的?
- 新手的几个简单的问题
- 请教:使用其他solution里的CPP和H文件,为什么编译器总报有的东西不知道?
- 一个简单的问题-用向导添加一个MFC的新类,怎么会找不到基类报错啊?
- 请问各位大侠,局域网通信程序和广域网通信程序的书写区别是什么???
- mfc 实现高亮显示文本框查找字符串
- vista中如何阻止windows logoff 急~~~~~~ 就等四天。
- 怎样改变文本框中字体的颜色
- 急!!!急!!!急!!!PACS高手来~~!
- 我想修改一个自创CComboBox中的字体,同时重绘它的下拉列表框,请教!急!急!急!急!急!急!
我就想用相对的,这样方便但是调用完dlg,相对路径就变了.55555
用GetModuleFileName可以取得应该程序所在的路径。然后你知道怎么拼其它相对路径的绝对路径了吧。
接着可以用字符串操作修改你想要的路径
发挥你的想象,组合E文单词.再看MSDN.
GetModuleFileName
GetModuleFileName(NULL,sPath,255);
GetModuleFileName(NULL, szPath, MAX_PATH);
int i;
for (i=MAX_PATH-1; i>=0; i--)
if (szPath[i] == '\\')
{
szPath[i] = 0;
break;
}CString strDbPath;
strDbPath.Format("%s\\db.mdb", szPath);