SQLConfigDataSource()函数动态配置SQL数据源出错(50分)

mengxiangying504 2009-01-07 05:12:25
如题,工程是单文档工程,未选择Database view,即在MFC AppWizard - step2 of 6未选择第三和第四项。
创建数据源部分代码如下:
CAccess::CAccess(CHAR* lpszAccessFilePathName)
{
m_bConnectionOK = FALSE;

if( lpszAccessFilePathName )
{
m_strAccessFilePathName = lpszAccessFilePathName;

// Create DSN config.
string strDSNConfig;
strDSNConfig = "DSN=HtDB;DBQ=";
strDSNConfig.append( m_strAccessFilePathName );
strDSNConfig.append( ";PWD=6418791;UID=xiangying;");

if ( SQLConfigDataSource(NULL, ODBC_ADD_DSN, "SQL Server\0", strDSNConfig.c_str() ) )
{
//创建数据源成功
CString strSql;
strSql.Format("DSN=%s;;","HtDB" );
// 创建数据库
TRY
{
m_MfcDatabase.OpenEx( strSql , CDatabase::noOdbcDialog);
m_bConnectionOK = TRUE;
}
CATCH( CDBException, e )
{
CHAR szErrMsg[1024];
ZeroMemory( szErrMsg, 1024 );
e -> GetErrorMessage(szErrMsg,1024);
MessageBox( NULL , szErrMsg , "错误" , NULL);
}
END_CATCH

}
else
{
MessageBox( NULL , "Config ODBC Database false!" , "错误" , NULL);
}
}
}

调用构造函数如下:
CAccess m_AccessDB("hotel_Data.MDF");
请详细解释下该函数的用法,另外我出错在哪?
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanyuanwaifdl 2009-01-08
  • 打赏
  • 举报
回复
up
ltc_mouse 2009-01-07
  • 打赏
  • 举报
回复
是不是strDSNConfig错了,看到的例子是使用\0作为关键字之间的分隔,\0\0作为结束符.

以下是MSDN中该函数的说明:
http://msdn.microsoft.com/zh-cn/library/ms716476(en-us,VS.85).aspx
http://msdn.microsoft.com/zh-cn/library/ms709275(en-us,VS.85).aspx
china_west 2009-01-07
  • 打赏
  • 举报
回复
有么有搞错啊
johnmcdavid 2009-01-07
  • 打赏
  • 举报
回复
看不懂
星羽 2009-01-07
  • 打赏
  • 举报
回复
上面的代码中哪一行出错?

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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