日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

MySQL的C語言編程(一)

系統 2886 0

初學MySQL,記錄一下MySQL用c語言編程時遇到的問題。

這是我的源程序:

      
         1
      
      
        int
      
       main(
      
        void
      
      
        )


      
      
         2
      
      
        {


      
      
         3
      
       MYSQL *mysql=
      
        NULL;


      
      
         4
      
      
         5
      
      
         6
      
      
        if
      
      ((mysql=mysql_init(mysql))==
      
        NULL)


      
      
         7
      
      
        {


      
      
         8
      
       fprintf(stderr,
      
        "
      
      
        Cannot initialize MySQL
      
      
        "
      
      
        );


      
      
         9
      
      
        return
      
      
        1
      
      
        ;


      
      
        10
      
      
        }


      
      
        11
      
      
        if
      
      (mysql_real_connect(mysql,
      
        "
      
      
        localhost
      
      
        "
      
      ,
      
        "
      
      
        kerry
      
      
        "
      
      ,
      
        "
      
      
        beck123
      
      
        "
      
      ,NULL,
      
        0
      
      ,NULL,
      
        0
      
      )==
      
        NULL)


      
      
        12
      
      
        {


      
      
        13
      
       fprintf(stderr,
      
        "
      
      
        %d:%s \n
      
      
        "
      
      
        ,mysql_errno(mysql),mysql_error(mysql));


      
      
        14
      
      
        return
      
      
        1
      
      
        ;


      
      
        15
      
      
        }


      
      
        16
      
       printf(
      
        "
      
      
        Succeed!\n
      
      
        "
      
      
        );


      
      
        17
      
      
        return
      
      
        0
      
      
        ;


      
      
        18
      
       }
    

?

MySQL的c API有幾個重要的數據類型:

  • ?MYSQL

    該結構代表 1 個數據庫連接的句柄。幾乎所有的 MySQL 函數均使用它。不應嘗試拷貝 MYSQL 結構。不保證這類拷貝結果會有用

  • MYSQL_RES

    該結構代表返回行的查詢結果( SELECT ,? SHOW ,? DESCRIBE ,? EXPLAIN )。在本節的剩余部分,將查詢返回的信息稱為“結果集”。

  • ?MYSQL_ROW

    這是 1 行數據的“類型安全”表示。它目前是按照計數字節字符串的數組實施的。(如果字段值可能包含二進制數據,不能將其當作 由Null 終結的字符串對待,這是因為這類值可能會包含 Null 字節)。行是通過調用 mysql_fetch_row() 獲得的。

  • ?MYSQL_FIELD

    該結構包含關于字段的信息,如字段名、類型和大小。這里詳細介紹了其成員。通過重復調用 mysql_fetch_field() ,可為每個字段獲得 MYSQL_FIELD 結構。字段值不是該結構的組成部份,它們包含在 MYSQL_ROW 結構中。

  • ?MYSQL_FIELD_OFFSET

    這是 MySQL 字段列表偏移量的“類型安全”表示(由 mysql_field_seek() 使用 )。偏移量是行內的字段編號,從 0 開始。



聲明“MYSQL *mysql=NULL;“,必須為該指針賦值為NULL。如果定義為"MYSQL *mysql;",不為該指針賦值,就會生成野指針,程序運行時會發生“段錯誤 (核心已轉儲)“錯誤。

“野指針”不是NULL指針,是指向“垃圾”內存(不可用內存)的指針。人們一般不會錯用NULL指針,因為用if語句很容易判斷。但是“野指針”是很危險的,if無法判斷一個指針是正常指針還是“野指針”。有個良好的編程習慣是避免“野指針”的唯一方法。

?

調用mysql_init()函數,該函數會 分配或初始化與 mysql_real_connect() 相適應的 MYSQL 對象。 如果 mysql NULL 指針, 該函數將分配、初始化、并返回新對象。否則,將初始化對象,并返回對象的地址。如果 mysql_init() 分配了新的對象,當調用 mysql_close() 來關閉連接時。將釋放該對象。

?

MySQL的C語言編程(一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 紫云| 灌阳县| 陇川县| 铜梁县| 沈阳市| 什邡市| 安丘市| 淅川县| 陆川县| 炉霍县| 嘉善县| 云林县| 恩平市| 黑龙江省| 天全县| 江北区| 芷江| 黔西县| 吉隆县| 常熟市| 永顺县| 吉木乃县| 宁安市| 谷城县| 称多县| 图片| 嫩江县| 芜湖县| 潜山县| 密云县| 宁河县| 肃北| 喀喇| 平远县| 壶关县| 霸州市| 左贡县| 枣阳市| 日喀则市| 霞浦县| 合阳县|