在C語言中,連接MySQL數據庫并進行遍歷操作是一個非常常見的需求。接下來,我們將介紹如何使用C語言連接MySQL數據庫并遍歷數據。
首先,我們需要先安裝MySQL C Connector庫??梢詮墓倬W下載相應的二進制文件進行安裝。
#include#include void finish_with_error(MYSQL *con) { fprintf(stderr, "%s\n", mysql_error(con)); mysql_close(con); exit(1); } int main(int argc, char **argv) { MYSQL *con = mysql_init(NULL); if (con == NULL) { fprintf(stderr, "%s\n", mysql_error(con)); exit(1); } if (mysql_real_connect(con, "localhost", "root", "", "database", 0, NULL, 0) == NULL) { finish_with_error(con); } if (mysql_query(con, "SELECT * FROM table")) { finish_with_error(con); } MYSQL_RES *result = mysql_store_result(con); if (result == NULL) { finish_with_error(con); } int num_fields = mysql_num_fields(result); MYSQL_ROW row; while ((row = mysql_fetch_row(result))) { for (int i = 0; i< num_fields; i++) { printf("%s ", row[i] ? row[i] : "NULL"); } printf("\n"); } mysql_free_result(result); mysql_close(con); exit(0); }
以上代碼中,我們首先需要調用`mysql_init`函數進行初始化。然后,調用`mysql_real_connect`函數進行連接數據庫。如果連接失敗,則調用自定義函數`finish_with_error`退出程序。接下來,調用`mysql_query`函數進行查詢操作。如果查詢失敗,則同樣調用`finish_with_error`函數退出程序。
如果查詢成功,我們將結果存儲在`MYSQL_RES`對象中,并獲取結果集的字段數。接下來,使用`mysql_fetch_row`函數逐行獲取結果集中的數據,并使用循環遍歷每行數據的每個字段。最后,釋放結果集和數據庫連接,并退出程序。
總的來說,連接MySQL數據庫并進行遍歷操作的過程相對簡單。但是,需要注意細節,例如錯誤處理和結果集釋放等。