各位高手, 关于MySQL数据库接口的VC实现与应用, 不知道怎么下手, 希望大家帮个忙,谢谢!

解决方案 »

  1.   

    www.mysql.com上好像有专门针对c++的ODBC接口和文档。
      

  2.   

    http://www.codeproject.com/useritems/DlgMySql.asp
      

  3.   

    用ado 的话和读access数据库差不多,只是连接串不一样而已
      

  4.   

    只要用mysql为C语言发布的api,比如: mysql_query,mysql_fetch_row ,mysql__real_connect etc。我写的CGI,就是用mysql作为后台数据库,用c语言编写的。
    //////////////////////////////////////////////////////////////////
      学习,再学习。
      

  5.   

    to  jetlan(不百): 你有mysql 的c api 的资料吗? 能否给兄弟一份!
      

  6.   

    通过 mysql 的 api 函数就可以实现。
    在编译的时候,包含上 mysql 提供的库函数就可以了。
    我也用 C 写 CGI ,数据库用的就是 mysql 。
    我的主页上有源代码,你有兴趣可以去看看。http://linjiework.126.com
      

  7.   

    看看这儿,我以解决了我的问题,有试验代码。http://www.vckbase.com/document/viewdoc.asp?id=339
      

  8.   

    我用mysql++,好东西,简单封装了mysql api,内置了stl,好用
      

  9.   

    http://www.codeproject.com/useritems/DlgMySql.asp
      

  10.   

    大家觉得用odbc, 还是用mysql提供的c api好! 
    大家讨论讨论!
      

  11.   

    odbc对于以后软件的扩展有用。
      

  12.   

    都不错啊,odbc开发起来快,不过自由度小,我也不直接用c api,而是用mysql++,这样主要可以不必考虑exception,内存泄漏等等问题,开发起来速度比odbc慢一点,不过自由度高,代码执行效率也高,而且mysql++内置了stl,可以直接用各种算法,方便啊!呵呵,我已经用vc&mysql++开发了一个公司内部管理软件,很有心得体会的。 :)
      

  13.   

    to nethermit(网络隐士):请多多指教!!!
      

  14.   

    用什么都好,就是别用MyOLEDB,它内部还是通过ODBC的,慢得吐血,不支持BLOB,不支持返回错误信息。
      

  15.   

    #include "dbqry.h"#pragma comment(lib,"odbc32")extern RTUDATA rtu_list[];
    extern sysStateinfo stateinfo;mydbQry::mydbQry()
    {
    UCHAR szSqlState[0x100];
    UCHAR szErrorMsg[0x100];
    UCHAR szSqlConnect[0x100];
    SWORD cbSqlConnect;
    SDWORD NativeError;
    SWORD ErrorMsg;
    RETCODE retcode;
    retcode = SQLAllocEnv(&henv);
    if (retcode == SQL_SUCCESS)
    retcode = SQLAllocConnect(henv, &hdbc);
    else{
    SQLError(SQL_NULL_HENV,SQL_NULL_HDBC,SQL_NULL_HSTMT,(UCHAR *)szSqlState,&NativeError,(UCHAR *)szErrorMsg,255,&ErrorMsg);
    throw (char *)szErrorMsg;
    }    if (retcode == SQL_SUCCESS)
            SQLSetConnectOption(hdbc, SQL_LOGIN_TIMEOUT, 5);
    else{
    SQLError(henv,SQL_NULL_HDBC,SQL_NULL_HSTMT,(UCHAR *)szSqlState,&NativeError,(UCHAR *)szErrorMsg,255,&ErrorMsg);
    throw (char *)szErrorMsg;
    }

    char ConnectStr[200];
    sprintf(ConnectStr,
    "DSN=SCADA;UID=dbo;PWD=dbo");
    retcode=SQLDriverConnect(hdbc,(HWND)NULL,
     (UCHAR *)ConnectStr,
     SQL_NTS,
     szSqlConnect,
     sizeof(szSqlConnect),
     &cbSqlConnect,
     SQL_DRIVER_COMPLETE); if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
    }
    else{
    SQLError(henv,hdbc,SQL_NULL_HSTMT,(UCHAR *)szSqlState,&NativeError,(UCHAR *)szErrorMsg,255,&ErrorMsg);
    throw (char *)szErrorMsg;
    }
    }mydbQry::~mydbQry()
    {
    SQLDisconnect(hdbc);
    SQLFreeConnect(hdbc);
    SQLFreeEnv(henv);
    }
      

  16.   

    wltsui(你跳,我也跳):
       你在耍任吧?怎么大家跟了这么多,怎么一分都没有得到??
       
       我也想接触数据库,但心里总害怕它!想想就怕!!!
      

  17.   

    wltsui(你跳,我也跳):
        你咋搞的?你是一个说话不算数的家伙吗?
      

  18.   

    to badtank(爱与宿命的连发枪):
    to : leiennet(雷恩): 兄弟亚, 我都忙死了,给我点时间吧!
      

  19.   

    to wltsui:#include "winsock.h"
    #include <iostream>
    #include <vector>
    #include <sqlplus.hh>using namespace std;
      

  20.   

    to nethermit(网络隐士):
      求你帮个忙, 我下了一个mysql++, 但是编译的时候有错, 错误如下:
    c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xutility(723) :   see declaration of 'std::reverse_iterator'
    d:\Workspace\Microsoft\mysql++\include\resiter1.hh(52) : see reference to class template instantiation 'const_subscript_container<OnType,ValueType,ReturnType,SizeType,DiffType>' being compiled求你指点指点, 我没有别的, 以分向谢!
      

  21.   

    to nethermit(网络隐士):   那些include加到那! 现在我的程序没有错, 是那个该死的mysql++有错,
    我下了好几个版本, 都是, 哦, 对了, 我用的是vc.net, 有没有关系呀!
     
    http://www.csdn.net/expert/topic/958/958578.xml?temp=.254986
      

  22.   

    yspei(pys), 兄弟呀, 帮帮我吧!
    http://www.csdn.net/expert/topic/958/958578.xml?temp=.254986
      

  23.   

    向高手求救!答者有分。
    http://www.csdn.net/expert/topic/958/958179.xml?temp=.160351
      

  24.   

    昏倒,忘了给主页链接sjtucaocao.yeah.net