vc中如何连接mysql数据库,要详细步骤,谢谢

解决方案 »

  1.   

    mysql api是跨平台的 vc中用法一样
      

  2.   

    下载个ODBC驱动SQLHENV henv = NULL;
        SQLHDBC hdbc = NULL;
        SQLHSTMT hstmt = NULL;
        SQLRETURN result;
        SQLCHAR ConnStrIn[MAXBUFLEN] = _T("DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=;DATABASE=test;CharSet=gbk;");
        SQLCHAR ConnStrOut[MAXBUFLEN];
        result = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);
        result = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
        result = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
        result = SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)LOGIN_TIMEOUT, 0);
        result = SQLDriverConnect(hdbc,NULL,
            
            ConnStrIn,SQL_NTS,
            
            ConnStrOut,MAXBUFLEN,
            
            (SQLSMALLINT *)0,SQL_DRIVER_NOPROMPT);
        if(SQL_ERROR==result)
            
        {
            
            MessageBox(_T("Connect error!"),_T("Error!"),0);
            
            return;
            
        }
        result = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
        result = SQLPrepare(hstmt,(SQLCHAR*)_T("insert into T_Dell(FCoad) values('1')"),SQL_NTS);
        CHECKDBSTMTERROR(result,hstmt);
        
        result =SQLExecute(hstmt);
        
        CHECKDBSTMTERROR(result,hstmt);
        
        SQLFreeStmt(hstmt,SQL_CLOSE);
        
        SQLDisconnect(hdbc);
        
        SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
        
        SQLFreeHandle(SQL_HANDLE_ENV,henv);
    这个是现成的
      

  3.   

    可以不下驱动,mysql自己带了很多头文件你包含进去就好了, 直接用mysql提供的函数来访问mysql库.
    libmysql.lib 也要导入
    参考:
    http://zhidao.baidu.com/question/61954071.html
      

  4.   

    libmysql.lib这个是配合libmysql.dll用的,还要带个libmysql.dll.
    如果不想多带个libmysql.dll,直接用mysqlclient.lib这个静态库。
      

  5.   

    dev.mysql.com/doc/refman/5.0/en/​apis-cplusplus.html ·
      

  6.   

    MySQL的话,还是使用自带的SDK好。