[轉貼自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...