首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么用C++访问MySQL数据库

2012-04-22 
如何用C++访问MySQL数据库如题,我想知道用ADO怎么访问啊,有没有源代码呀,不用ADO的话用别的怎么访问啊[解

如何用C++访问MySQL数据库
如题,我想知道用ADO怎么访问啊,有没有源代码呀,不用ADO的话用别的怎么访问啊

[解决办法]
参考:
http://blog.csdn.net/tukidrmyd/archive/2009/09/05/4522152.aspx

应该可以解决你的问题。
[解决办法]
一般是ado,比较方便,不管什么数据库,只是连接的时候参数不同而已
[解决办法]
或者用odbc访问数据库
[解决办法]
上MYSQL的官网,里面有很的API函数可以使用,
[解决办法]
晕》 ADO是什么呀? 瞎解释 


用mysql提供api呀
[解决办法]
http://www.hudong.com/wiki/ADO
这篇文章讲了些基本的。
[解决办法]


看我的博客吧,满足你所有要求:
MYSQL C API 访问程序(更新升级版本) 

http://blog.csdn.net/hzhxxx/archive/2010/12/27/6100752.aspx
[解决办法]
我现在做得就是MySQL C API的封装!
[解决办法]

C/C++ code
//ADO.h#pragma once#include <string>using namespace std;#import "msado15.dll" no_namespace rename("EOF", "adoEOF")class CADO{public:    CADO(void);public:    virtual ~CADO(void);public:    //属性    _ConnectionPtr m_pConnection;                    //连接对象指针    _RecordsetPtr m_pRecordset;                      //记录集对象指针public:    //函数    bool OnInitAdoConn(wstring strConnect);            //连接数据库    _RecordsetPtr &OpenRecordset(wstring sql);        //打开记录集    void CloseRecordset();                            //关闭数据集    void CloseConn();                                //关闭数据库连接    int GetRecordCount(_RecordsetPtr pRecordset);    //获取记录数};//ADO.cpp#include "StdAfx.h"#include "ADO.h"CADO::CADO(void):m_pConnection(NULL), m_pRecordset(NULL){}CADO::~CADO(void){}bool CADO::OnInitAdoConn(wstring strConnect){    try    {        ::CoInitialize(NULL);        m_pConnection.CreateInstance(__uuidof(Connection));        m_pConnection->Open(_bstr_t(strConnect.c_str()), _bstr_t(""), _bstr_t(""), adModeUnknown);        return true;    }    catch(_com_error e)    {        AfxMessageBox(e.Description());    }    return false;}void CADO::CloseConn(){    m_pConnection->Close();    ::CoUninitialize();}_RecordsetPtr &CADO::OpenRecordset(wstring sql){    try    {        m_pRecordset.CreateInstance(__uuidof(Recordset));        m_pRecordset->Open(_bstr_t(sql.c_str()), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);    }    catch(_com_error e)    {        AfxMessageBox(e.Description());    }    return m_pRecordset;}int CADO::GetRecordCount(_RecordsetPtr pRecordset){    try    {        int iCount = 0;        if(m_pRecordset->adoEOF)        {            return 0;        }        while(m_pRecordset->adoEOF)        {            iCount++;            m_pRecordset->MoveNext();        }        m_pRecordset->MoveFirst();        return iCount;    }    catch(_com_error e)    {        AfxMessageBox(e.Description());        return -1;    }}void CADO::CloseRecordset(){    if(m_pRecordset->GetState() == adStateOpen)    {        m_pRecordset->Close();    }} 

热点排行