MySQL的C語言程式設計(一)
初學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 ",mysql_errno(mysql),mysql_error(mysql)); 14 return 1; 15 } 16 printf("Succeed! "); 17 return 0; 18 }
MySQL的c API有幾個重要的資料型別:
-
MYSQL
該結構代表1個資料庫連線的控制程式碼。幾乎所有的MySQL函式均使用它。不應嘗試拷貝MYSQL結構。不保證這類拷貝結果會有用
-
該結構代表返回行的查詢結果(SELECT, SHOW, DESCRIBE, EXPLAIN)。在本節的剩餘部分,將查詢返回的資訊稱為“結果集”。
-
這是1行資料的“型別安全”表示。它目前是按照計數字節字串的陣列實施的。(如果欄位值可能包含二進位制資料,不能將其當作由Null終結的字串對待,這是因為這類值可能會包含Null位元組)。行是通過呼叫mysql_fetch_row()獲得的。
-
該結構包含關於欄位的資訊,如欄位名、型別和大小。這裡詳細介紹了其成員。通過重複呼叫mysql_fetch_field(),可為每個欄位獲得MYSQL_FIELD結構。欄位值不是該結構的組成部份,它們包含在MYSQL_ROW結構中。
-
這是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()來關閉連線時。將釋放該物件。
相關文章
- C語言MySQL程式設計示例C語言MySql程式設計
- C語言程式設計C語言程式設計
- C語言程式設計原理C語言程式設計
- c語言程式設計題C語言程式設計
- 奇怪的C語言——C51程式設計C語言注意事項C語言程式設計
- 大一C語言程式設計練習題C語言程式設計
- c語言程式設計--實驗報告一C語言程式設計
- # c語言程式設計——實驗報告一C語言程式設計
- c語言程式設計——實驗報告一C語言程式設計
- 【C/C++學院】(23)Mysql資料庫程式設計–C語言程式設計實現mysql客戶端C++MySql資料庫程式設計C語言客戶端
- C 語言程式設計(unix) (轉)程式設計
- 結對程式設計(c語言)程式設計C語言
- C#中的函數語言程式設計:序言(一)C#函數程式設計
- 一個關於pynoi遊戲的C語言程式設計遊戲C語言程式設計
- C++的函數語言程式設計C++函數程式設計
- C 語言程式設計利器之 CLion程式設計
- C#函數語言程式設計C#函數程式設計
- C語言程式設計基本規範C語言程式設計
- C語言高效程式設計的幾招(轉)C語言程式設計
- 第一章 程式設計和C語言----案例程式設計C語言
- 第一章 C語言程式設計(Ivor Horton)C語言程式設計
- 偽隨機數C語言程式設計隨機C語言程式設計
- C語言程式設計-漢字點陣C語言程式設計
- C語言+圖形程式設計——自制象棋C語言程式設計
- C 語言程式設計習慣總結程式設計
- C語言程式設計B作業04C語言程式設計
- 初步瞭解C語言Windows程式設計C語言Windows程式設計
- Linux下C語言程式設計(轉)LinuxC語言程式設計
- 傻瓜程式設計入門(C語言版)程式設計C語言
- C語言程式設計題T1C語言程式設計
- C語言指標應用程式設計C語言指標程式設計
- Scala 函數語言程式設計(一) 什麼是函數語言程式設計?函數程式設計
- 程式設計中的遞迴(C語言為例)程式設計遞迴C語言
- 使用C語言程式設計的7個步驟C語言程式設計
- 關於C語言的圖形程式設計薦C語言程式設計
- C語言:一種高效、易學的程式語言C語言
- C 語言高效程式設計與程式碼優化程式設計優化
- C語言高效程式設計的的四招技巧[轉]C語言程式設計