odbc mysql vc_VC中,使用ODBC 驱动连接Mysql

本文介绍如何在VC工程中通过ODBC连接到MySQL数据库。首先引入相关库和头文件,然后创建ADODB.Connection对象,设置连接字符串,打开数据库连接。接着创建Recordset对象,执行SQL查询,遍历并处理查询结果。最后关闭数据库连接。

1  建立VC工程,添加以下头文件

#include "AtlConv.h"

#import "c:\Program Files\Common Files\System\ado\msadox.dll"

#import "C:\Program Files\Common Files\System\ado\msado15.dll"  no_namespace rename("EOF", "adoEOF")

#include

#pragma comment(lib, "ODBC32.lib")

2  实现代码

BOOL CheckMysql() { HRESULT hr = S_OK;  BOOL   bRet = TRUE; _ConnectionPtr m_pConnection;  _RecordsetPtr m_pRecordset; try { // 创建Connection对象 if (!SUCCEEDED(m_pConnection.CreateInstance("ADODB.Connection") )) { MessageBoxA(NULL, "ADODB.Connection 创建失败!", "Connect String", MB_OK); } _bstr_t strConnect = "Provider=MSDASQL.1;Driver={MySQL ODBC 5.1 Driver};Password=mima;Persist Security Info=True;User ID=user;DATABASE=db;SERVER=localhost;PORT=34223"; if (SUCCEEDED(m_pConnection->Open(strConnect,"","",0))) { OutputDebugString(_T("[BillDBSvr] - Info 当前打开数据库连接成功! ")); m_pRecordset.CreateInstance(_uuidof(Recordset));//初始化Recordset指针 char szSql[512] = {0}; _bstr_t strSql= "select * from miaosha_tasks"; BSTR bstrSQL = strSql.GetBSTR(); HRESULT hrRet = m_pRecordset->Open(bstrSQL,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);  if (SUCCEEDED(hrRet)) { OutputDebugString(_T("[BillDBSvr] - Info 当前访问数据库表成功! ")); } else { OutputDebugString(_T("[BillDBSvr] - Info 当前访问数据库表失败! ")); } _variant_t value; //VARIANT数据类型 while(!m_pRecordset->adoEOF)//遍历所有记录 {  value = m_pRecordset->GetCollect(0); if (value.vt != VT_NULL) { value.Clear(); } } m_pRecordset->Close(); } else { OutputDebugString(_T("[BillDBSvr] - Info 当前打开数据库连接失败! ")); } m_pConnection->Close(); } // 捕捉异常 catch(_com_error e) { // 显示错误信息 ::MessageBox(NULL, e.Description(), _T("Sql Server Error"), MB_OK); bRet = FALSE; } return bRet; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值