二、怎樣用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<
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 ...