求教:我有一个VC程序.可执行文件目录中有一个数据库文件,程序中数据库链接方式为
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=timenote.mdb","","",adModeUnknown);///连接数据库
直接运行该执行文件,正常,但如果将执行文件加到注册表RUN中,键值为该执行文件所在目录:
D:\I386\lkr\timetable\Release\timetable.exe 随windows启动自启动,结果报找不到数据库.请指教.
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=timenote.mdb","","",adModeUnknown);///连接数据库
直接运行该执行文件,正常,但如果将执行文件加到注册表RUN中,键值为该执行文件所在目录:
D:\I386\lkr\timetable\Release\timetable.exe 随windows启动自启动,结果报找不到数据库.请指教.
要寫絕對路徑
::GetModuleFileName(NULL,sz,sizeof(sz);来获取当前程序的路径,此路径作为数据库的路径.
相关语句如下
char sz[MAX_PATH];
::GetModuleFileName(NULL,sz,sizeof(sz);
CString path=sz;
path.replace("\\文件名.exe","")
path.replace("\\","/");
path+="/timenote.mdb";