VC的MySQL程式設計

2021-06-13 09:38:26 字數 2465 閱讀 6430

二、怎樣用c/c++程式設計連線mysql資料庫

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

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

#include   

#include     

#include  

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。   

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

int main()

{mysql mysql;

mysql_res * res ; 

mysql_field * fd ; 

mysql_row row ; 

int id[10000];

double result[10000][8];

vectorv;

if(mysql_init(&mysql) == null)

{std::cout<<"init mysql data status fail"int j = 0;

sprintf(szsqltext,"%s","select * from data_receive "); 

if (mysql_query( &mysql, szsqltext)) 

//進行資料檢索 

{ //執行sql語句出錯 

cout<<"query error"<=j)

break;

char str[10000];

stringstream ss;

ss<<"insert into data_receive(id,data1,data2,data3, data4,data5,data6,data7,data8)values('"<::iterator iter = v.begin();  iter != v.end(); ++iter)

{if(mysql_query(&mysql,(*iter).c_str())!=0)

{std::cout<<"execute insert syntax fail"<<

std::endl<

三、「沒有找到 msvcr80d.dll,因此這個程式未能啟動,重新安裝應用程式,可能會修復此問題」。「什麼意思?

重新安裝應用程式可能會修復此問題。 解決方法: 專案->屬性->配置屬性->清單工具->常規->

使用fat32解決辦法改為「是」即可 我這個也是抄的,至於在**引用的,我也忘了。不過可以解決問題。

原文:

VC的MySQL程式設計

二 怎樣用c c 程式設計連線mysql資料庫 執行乙個查詢有以下幾個步驟要做。首先執行乙個查詢,然後儲存結果,得到的是乙個子集。這裡是乙個小例子 include include include mysql mysql mysql res res mysql row row void exiterr...

VC的MySQL程式設計

二 怎樣用c c 程式設計連線mysql資料庫 執行乙個查詢有以下幾個步驟要做。首先執行乙個查詢,然後儲存結果,得到的是乙個子集。這裡是乙個小例子 include include include mysql mysql mysql res res mysql row row void exiterr...

VC與MySQL程式設計配置

1 記得加入winsock.h和mysql.h,winsock.h最好在mysql.h前面,否則vc可能報錯 2 記得在設定裡加入libmysql.lib wsock32.lib,然後還記得設定include 和lib資料夾,就可以了 詳細配置方法是 先在project settings link ...