c c 程式設計連線mysql資料庫

2021-04-15 12:45:19 字數 1838 閱讀 4002

[轉貼自http://homepage.qdcatv.com.cn/antonio/mysql/mysql.htm]

執行乙個查詢有以下幾個步驟要做。首先執行乙個查詢,然後儲存結果,

得到的是乙個子集。這裡是乙個小例子:

#include

#include

#include "mysql.h"

mysql mysql;

mysql_res *res;

mysql_row row;

void exiterr(int exitcode)

int main()

mysql_free_result(res);

mysql_close(&mysql);

} mysql_query 函式將把查詢送給伺服器,如果查詢成功,呼叫mysql_store_result

函式將分配乙個mysql_res 結構並且重新從伺服器獲得乙個結果集。你可以用

mysql_fetch_row 函式來檢視資料。這樣做你將獲得乙個 mysql_row 指標指向數

據中的一行。 mysql_row 指標是一簡單的字串陣列。所有的資料型別被轉換成

字串送到客戶端。

mysql_num_fields 函式將告訴你返回的列數。你可以繼續呼叫 mysql_fetch_row

直到它返回乙個空指標以得到查詢中的每一行。

注意在這個例子裡,我們沒有檢查有空指標的列。如果你不使用非空列的表,那麼

你必須檢查乙個特殊行的列是否為空。

一旦你使用完畢乙個結果集,你必須釋放它。這通過 mysql_free_result 來完成。

最後呼叫 mysql_close 來關閉你和資料庫之間的連線。

檢視結果集

你可以不用呼叫 mysql_fetch_row 就查出返回的結果集共有多少行。這由

int mysql_num_rows(mysql_res *result)來完成。

改變到被下乙個 mysql_fetch_row 呼叫返回的行,你可以用

void mysql_data_seek(mysql_res *res, uint offset) 改變到任意一行。

獲得更多的資訊

你可以使用這幾個額外的函式來找出關於乙個查詢的更多的資訊,並從伺服器獲得

這些資訊。

如果你執行乙個update, insert 或者 delete 查詢,你可以用

int mysql_affected_rows 來查出共有多少行資料被你影響到。

如果在你的資料庫裡有二進位制資料,那麼得知資料的長度將是有用的。unsigned

int *mysql_fetch_lengths(mysql_res *mysql) 將返回一指出了結果集中每一列

的長度的整型陣列。

當你插入乙個帶有 auto_increment 列的表的時候,你可以用

int mysql_insert_id(mysql *mysql) 來查出生成的那一行的id。  

********************==

我連過成功了!

#include "/include/mysql/mysql.h" /*為絕對路徑*/

#include

int main(int argc,char *argv) }

else

mysql_free_result(mysql_ret);

exit(0);

} else }

else }

else }

如果你包含了正確的標頭檔案而在連線的時候, 告訴你沒有符號連線

你應該連線你需要的庫     

C C 連線MYSQL資料庫

下面的 是乙個實現c 連線mysql資料庫的很好的例子 這裡用了建表,插入,檢索,刪表等常用功能 我用vc 6.0生成,已經成功連線了。在vc 6.0中要想把做一下兩步準備工作才可以。1 tools options directories include files中新增c program file...

MySQL資料庫連線

一 mysql 連線本地資料庫,使用者名為 root 密碼 123 注意 p 和 123 之間不能有空格 c mysql h localhost u root p123 二 mysql 連線遠端資料庫 192.168.0.201 埠 3306 使用者名為 root 密碼 123 c mysql h ...

連線MySql資料庫

color olive 以myeclipse為例,要連線mysql資料庫首先要安裝mysql。在這就帶過 不予介紹了。color 1.載入驅動 class.forname com.mysql.jdbc.driver 或者new 2.獲得連線 connection conn drivermanager...