c語言如何鏈結到資料庫

2021-05-24 00:42:24 字數 2464 閱讀 6699

mysql的變數型別和函式都包含在這個標頭檔案當中   

然後,我們需要建立連線資料庫的變數,可以簡單地這麼做:   

mysql   *mysql;   

在連線資料庫之前,我們要呼叫以下函式初始化這個變數:   

mysql_init(mysql   *mysql)   

然後   

mysql   *   stdcall   mysql_real_connect(mysql   *mysql,   

const   char   *host,   

const   char   *user,   

const   char   *passwd,   

const   char   *db,   

unsigned   int   port,   

const   char   *unix_socket,   

unsigned   int   clientflag);   

該函式被呼叫連線到資料庫。host是mysql伺服器的主機名,user是登入的使用者名稱,passwd是登入密碼,db是要連線的資料庫,port是mysql伺服器的tcp/ip埠,unix_socket是連線型別,clientflag是mysql執行成odbc資料庫的標記。在這篇文章當中該標記設成0,連線尋建立後,這個函式返回0。   

現在可以連線資料庫,進行查詢了:   

char   *query;   

使用這個字串我們可以創立任何sql查詢語句進行查詢。執行這個查詢的函式是:   

int   stdcall   mysql_real_query(mysql   *mysql,   

const   char   *q,   

unsigned   int   length);   

mysql是我們前面用過的變數,q是sql查詢語句,length是這個查詢語句的長度。如果查詢成功,函式返回0。     

查詢之後,我們要到乙個mysql_res變數來使用查詢的結果。以下這行創立這個變數:   

mysql_res   *res;   

然後     

mysql_use_result(mysql   *query)   

該函式讀出查詢結果。     

儘管可以很容易地查詢了,要用這個查詢的結果還要用到其它的函式。第乙個是:   

mysql_row   stdcall   mysql_fetch_row(mysql_res   *result);   

該函式把結果轉換成「陣列」。你可能注意到了,該函式返回的是mysql_row變數型別。以下語句創立那樣的變數:     

mysql_row   row;   

如前所解釋的,變數row是乙個字串陣列。也就是說,row[0]是陣列的第乙個值,row[1]是陣列的第二個值...當我們用mysql_fetch_row的時候,接著變數row會取得結果的下一組的資料。當到了結果的尾部,該函式返回一負值。最後我們要關閉這個連線:     

mysql_close(mysql   *mysql)   

一些有用的函式   

看看如何取得乙個**的字段,以下這個函式可能實現這個功能:     

unsigned   int   stdcall   mysql_num_fields(mysql   *mysql);   

這個函式返回**裡有多少個字段。     

取得「資料集」的數目,用:   

my_ulonglong   stdcall   mysql_num_rows(mysql_res   *res);   

my_ulonglong   stdcall   mysql_affected_rows(mysql   *mysql);   

這個函式是用來得到受insert,   delete,   update查詢語句影響的「資料集」數目。注意該函式返回的資料型別是my_ulonglong

BCB如何用MYDAC鏈結到資料庫

bcb如何用mydac鏈結到資料庫 但鏈結到資料庫後,可能會出現中文亂碼的情況 我網上查閱說可以修改 的方法來解決。但是用mydac鏈結的都沒怎麼使用 鏈結 就我個人所寫的來說 另乙個方法是修改資料夾中的乙個ini檔案。但是我沒有許可權修改。後來慢慢摸索找到了解決辦法。剛開始建立表的時候,姓名使用的...

C語言鏈結mysql資料庫

一 解釋一下函式功能和用法 1.mysql real connect 函式原型 mysql mysql real connect mysql mysql,const char host,const char user,const char passwd,const char db,unsigned ...

C語言鏈結mysql資料庫錯誤

一 編譯錯誤 eg 用gcc編譯出現如下的錯誤 test.c text 0x5e 對 mysql init 未定義的引用 但是在標頭檔案中已經 include 解決方法是 gcc xx.c lmysqlclient l usr lib64 mysql二 由 mysql config libs cfl...