读书人

怎么用mfc动态 创建ODBC数据源

发布时间: 2012-05-16 11:12:12 作者: rapoo

如何用mfc动态 创建ODBC数据源
网上了看了好多为什么都不能用,我是用access2007数据库,希望有经验的人指点一下,是不是只用
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver(*.mdb,*.accdb)",
"DSN=exam\0 DBQ=f:exam.mdb\0\0")
return ;这个函数就可以了?为什么不行啊

[解决办法]
在字符串里直接写\0是不行的,应该用程序循环的方式写入,向下面的代码中,先在要写\0的地方用‘-’代替,然后用程序把'-'替换成'\0'就可以了。
char* szDesc;
int mlen;
szDesc=new char[256];
sprintf(szDesc,"DSN=%s- DBQ=%s--","exam","f:\\exam.mdb");
///注意下面这一段
mlen = strlen(szDesc);
for (int i=0; i<mlen; i++)
{
if (szDesc[i] == '-') szDesc[i] = '\0';
}

if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))
MessageBox(hwnd,"Failed","INFORMATION",MB_OK);
else
MessageBox(hwnd,"Success","INFORMATION",MB_OK);
delete szDesc;

[解决办法]
你看看数据源创建了吗?

读书人网 >VC/MFC

热点推荐