• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • c與mysql連接和一個簡單查詢的例子(源)

    發表于:2007-05-25來源:作者:點擊數: 標簽:MySQL接和查詢例子簡單
    今天給新來的同事做mysql 培訓 ,用到的一個例子: 連接數據庫test用戶名root密碼abc 在里面有一個username的表,describeusername結果如下 mysqldescribeusername; +----------+-------------+------+-----+---------+-------+ |Field|Type|Null|Key|Defaul

    今天給新來的同事做mysql培訓,用到的一個例子:
    連接數據庫test 用戶名root密碼abc
    在里面有一個username的表,describe username結果如下
    mysql> describe username;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | id       | int(10)     | YES  |     | NULL    |       |
    | username | varchar(32) |      | PRI |         |       |
    +----------+-------------+------+-----+---------+-------+

    mysql> select * from username;
    +------+----------+
    | id   | username |
    +------+----------+
    |    1 | sfs      |
    +------+----------+
    1 row in set (0.00 sec)


    [b:f09d522785]本文目的查找執行select id from username這個語句并打印結果[/b:f09d522785]
    [code:1:f09d522785]
    #include <unistd.h>
    #include <arpa/.net.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <mysql/mysql.h>
    #include <signal.h>
    #include <errno.h>
    #include <syslog.h>
    MYSQL mysql;
    main()
    {
    char host[32]="localhost";
    char user[32]="root";
    char passwd[32]="abc";
    char dbname[32]="test";

    if( mysql_init(&mysql) == NULL )
    {
    syslog(LOG_USER|LOG_INFO,"inital mysql handle error\n");
    return 1;
    }
    if (mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)
    {
    syslog(LOG_USER|LOG_INFO, "Failed to connect to database: Error: %s\n",mysql_error(&mysql));
    return 1;
    }
    else syslog(LOG_USER|LOG_INFO, "connect to database: \n");
    find_ps();
    db_close();
    return 0;
    }
    int db_close()
    {
            mysql_close(&mysql);
             return 0;
    }


    int  find_ps ()
    {
    MYSQL_ROW m_row;
    MYSQL_RES *m_res;
    char sql[1024],username[32];
    int res=1;
    int *id;
    sprintf(sql,"select id from username");
    if(mysql_query(&mysql,sql) != 0)
    {
    syslog(LOG_USER|LOG_INFO, "select ps_info Error: %s\n",mysql_error(&mysql));
    return res;
    }
    m_res = mysql_store_result(&mysql);
    if(m_res==NULL)
    {
    syslog(LOG_USER|LOG_INFO, "select username Error: %s\n",mysql_error(&mysql));
    res = 3;
    return res;
    }
    if(m_row = mysql_fetch_row(m_res))
    {
    printf("m_row=%d\n",atoi(m_row[0]));
    res = 0;
    }
    mysql_free_result(m_res);
    return res;
    }
    [/code:1:f09d522785]
    編譯命令
    gcc -g connect_db.c -L/usr/lib/mysql -lmysqlclient -lz
    注意:
    如果/tmp/ccTGmMS21.o: In function `main':
    /tmp/ccTGmMS21.o(.text+0x11): undefined reference to `mysql_init'
    那么參數增加-L/usr/lib/mysql -lmysqlclient 
    如果
    usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_uncompress':
    my_compress.o(.text+0xaa): undefined reference to `uncompress'
    那么增加-lz參數

    相關文章
    http://forums.devshed.com/t2352/s.html?highlight=perl+mysql+connection(DBI.pm)

     li2002 回復于:2004-03-23 14:11:05
    good

     redfoxlinux 回復于:2004-03-23 16:16:16
    :D   good  very good

     一塊豬肉 回復于:2004-03-24 12:25:32
    能否能留下QQ?

     cole 回復于:2004-03-24 14:16:14

    有沒有c  和oracle的???

     xhl 回復于:2004-03-24 16:49:24
    謝謝樓住,補充一句:
    MYSQL權威指南里說的更詳細,把具體MYSQL C的API接口函數都一一列舉了,如果用C和MYSQL的人,應該買本看看

     odin_free 回復于:2004-03-24 18:29:39
    偶也很菜阿
    看代碼應該看得出來
    qq:13578444
    歡迎交流php+mysql+gcc

     saiman 回復于:2004-03-26 17:45:36
    個人認為:

    作為學習的例子比較清晰,但是如果真的做項目開發的話,千萬不要這么用。最好將數據庫操作統一封裝起來再使用。如果是C++的話,用自己的類封裝;如果是C的話,最好單獨寫個文件,把數據庫操作封裝成自己的函數。既可以精簡代碼,增加可讀性,又便于數據庫的移植和數據庫操作的改進。

     勤學博思 回復于:2004-03-28 17:50:51
    太好了

     abist 回復于:2004-03-28 18:22:36
    收藏!

     odin_free 回復于:2004-04-05 17:57:14
    [quote:fa973502cc="saiman"]個人認為:

    作為學習的例子比較清晰,但是如果真的做項目開發的話,千萬不要這么用。最好將數據庫操作統一封裝起來再使用。如果是C++的話,用自己的類封裝;如果是C的話,最好單獨寫個文件,把數據庫操作封裝成自..........[/quote:fa973502cc]

    我就是從封裝的里面拿出來的 :em02:

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>