关于vc++6.0连接mysql数据库问题

ranxufeng 2015-03-07 11:47:48
我连接好了ODBC与mysql了 但是在运行程序是出现 “未发现数据源名称并且未指定默认驱动程序” 我在用户DNS中已经加载好驱动了,要怎样用在程序程序中呢?
...全文
189 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
likfeng 2015-03-08
  • 打赏
  • 举报
回复
版本:mysql-5.6.22
likfeng 2015-03-08
  • 打赏
  • 举报
回复
_ConnectionPtr m_pConnection; //Connection变量 _RecordsetPtr m_pRecordset; //Recordset变量 //创建ADO连接等操作 m_pConnection.CreateInstance(__uuidof(Connection)); // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息, // 因为它有时会经常出现一些意想不到的错误。 try { m_pConnection->Open("Provider=MSDASQL.1;Persist Security Info=False;Extended Properties='DRIVER=MySQL ODBC 5.3 ANSI Driver';UID=root;PWD=123;PORT=3306;DATABASE=mysql;SERVER=localhost","","",adModeUnknown); m_bSuccess = TRUE; } catch(_com_error e) { AfxMessageBox("数据库连接失败!"); return FALSE; } //////////读取数据库中的信息添加到列表控件/////////// m_pRecordset.CreateInstance(__uuidof(Recordset)); try { m_pRecordset->Open("SELECT * FROM dat", // 查询dat表中所有字段 m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针 adOpenDynamic, adLockOptimistic, adCmdText); } catch(_com_error *e) { AfxMessageBox(e->ErrorMessage()); return FALSE; } try { int nItem; _variant_t vName,vAge; if (m_pRecordset->adoEOF) { m_nCurrentSel = -2; } //循环显示 while(!m_pRecordset->adoEOF) { vName = m_pRecordset->GetCollect("name"); vAge = m_pRecordset->GetCollect("age"); nItem=m_userlist.InsertItem(0xffff,(_bstr_t)vName); m_userlist.SetItem(nItem,1,1,(_bstr_t)vAge,NULL,0,0,0); m_pRecordset->MoveNext(); } } catch (_com_error *e) { AfxMessageBox(e->ErrorMessage()); return FALSE; } 试试这段代码 注意安装ODBC驱动,修改连接字符串

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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