如何用C++语言连接MySQL数据库,如果成功则返回真,如果失败则返回假。
 如何执行SQL语句。调用那个函数。

解决方案 »

  1.   

    到网上搜索一下就有很多#include <windows.h>
    #include <iostream>
    #include <mysql.h>
    #include <stdio.h>using namespace std;int main()
    {
        //connection params
        //FILE *file;
        char *host = "localhost";
        char *user = "root";
        char *pass = "123456";
        char *db = "mysql";
        
        //sock
        MYSQL *sock;
        MYSQL_RES *results;
        MYSQL_ROW record;
        sock = mysql_init(0);
        if (sock) 
            cout << "sock handle ok!" << endl;
        else 
        {
            cout << "sock handle failed!" << mysql_error(sock) << endl;
        }    //connection
        if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
            cout << "connection ok!" << endl;
        else 
        {
            cout << "connection fail: " << mysql_error(sock) << endl;
        }
        mysql_set_character_set(sock,"gb2312");
        
        //connection character set
        cout << "connection character set: " << mysql_character_set_name(sock) << endl;    //wait for posibility to check system/mysql sockets
        if(mysql_query(sock,"select * from user"))
        {
            cout<<"very good!"<<endl;                            
        }
        results=mysql_store_result(sock);
        printf("主机\t用户名\n");
        while(record = mysql_fetch_row(results))
        {
            printf("%s\t%s \n",record[0],record[1]);
        }
        mysql_free_result(results);
        //system("PAUSE");
        
        //closing connection
        mysql_close(sock);    return EXIT_SUCCESS;
    }
      

  2.   

    可以用mysql的c API,也可以用mysql++,给你一个mysql++的例子#include "cmdline.h"
    #include "printdata.h"#include <mysql++.h>#include <iostream>
    #include <iomanip>using namespace std;int
    main(int argc, char *argv[])
    {
    // Get database access parameters from command line
        const char* db = 0, *server = 0, *user = 0, *pass = "";
    if (!parse_command_line(argc, argv, &db, &server, &user, &pass)) {
    return 1;
    } // Connect to the sample database.
    mysqlpp::Connection conn(false);
    if (conn.connect(db, server, user, pass)) {
    // Retrieve a subset of the sample stock table set up by resetdb
    // and display it.
    mysqlpp::Query query = conn.query("select item from stock");
    if (mysqlpp::StoreQueryResult res = query.store()) {
    cout << "We have:" << endl;
    for (size_t i = 0; i < res.num_rows(); ++i) {
    cout << '\t' << res[i][0] << endl;
    }
    }
    else {
    cerr << "Failed to get item list: " << query.error() << endl;
    return 1;
    } return 0;
    }
    else {
    cerr << "DB connection failed: " << conn.error() << endl;
    return 1;
    }
    }