C語言串連MySQL(codeblocks)

來源:互聯網
上載者:User

標籤:windows   mysql   c語言   codeblocks   

#include <stdio.h>#include <winsock2.h>#include <mysql.h>/*資料庫連接用宏*/#define HOST "localhost"#define USERNAME "root"#define PASSWORD "root"#define DATABASE "mysql"int main(){    char *query;    query="select host,user from user";    query_sql(query);    return 0;}void query_sql(char* sql){    MYSQL my_connection; /*這是一個資料庫連接*/    int res; /*執行sql語句後的返回標誌*/    MYSQL_RES *res_ptr; /*指向查詢結果的指標*/    MYSQL_FIELD *field; /*欄位結構指標*/    MYSQL_ROW result_row; /*按行返回的查詢資訊*/    int row, column; /*查詢返回的行數和列數*/    int i, j;    /*初始化mysql串連my_connection*/    mysql_init(&my_connection);    /*建立mysql串連*/    if (NULL != mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD,                                   DATABASE, 0, NULL, CLIENT_FOUND_ROWS))  /*串連成功*/    {        printf("資料庫查詢query_sql串連成功!\n");        /*設定查詢編碼為gbk,以支援中文*/        mysql_query(&my_connection, "set names gbk");        res = mysql_query(&my_connection, sql);        if (res)   /*執行失敗*/        {            printf("Error: mysql_query !\n");            /*關閉串連*/            mysql_close(&my_connection);        }        else     /*現在就代表執行成功了*/        {            /*將查詢的結果給res_ptr*/            res_ptr = mysql_store_result(&my_connection);            /*如果結果不為空白,就把結果print*/            if (res_ptr)            {                /*取得結果的行數和*/                column = mysql_num_fields(res_ptr);                row = mysql_num_rows(res_ptr);                printf("查詢到 %d 行 \n", row);                /*輸出結果的欄位名*/                for (i = 0; field = mysql_fetch_field(res_ptr); i++)                    printf("%10s ", field->name);                printf("\n");                /*按行輸出結果*/                for (i = 1; i < row+1; i++)                {                    result_row = mysql_fetch_row(res_ptr);                    for (j = 0; j < column; j++)                        printf("%10s ", result_row[j]);                    printf("\n");                }            }            /*不要忘了關閉串連*/            mysql_close(&my_connection);        }    }    else    {        printf("資料庫連接失敗");    }}

<p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;"> 注意事項:</p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;">1.在Linker settings->Link libraries中添加libmysql.lib的路徑</p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;">2.在Search directories->的Compiler中添加mysql.h的檔案夾路徑</p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;">(總之就是讓編譯器能找到libmysql.lib和mysql.h)</p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;">3.在#include <mysql.h>之前添加#include <winsock2.h>(網上很多資料沒有這一步,但是我這邊實際操作時發現不加這一句編譯無法通過)</p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;"><img src="http://img.blog.csdn.net/20150606165538070?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA0ODA2MTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;"><img src="http://img.blog.csdn.net/20150606165654978?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA0ODA2MTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;">運行結果:</p><p style="line-height: 21px; margin: 10px auto; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 14px;"><img src="http://img.blog.csdn.net/20150606170050484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjA0ODA2MTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p>

</pre><pre name="code" class="cpp">


C語言串連MySQL(codeblocks)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.