日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询操作,获取查询结果的字段数,记录行数,...

發(fā)布時間:2023/12/4 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询操作,获取查询结果的字段数,记录行数,... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

//MYSQL_RES保存查詢結(jié)構(gòu)

MYSQL_RES*

result_ = NULL;

int

error_code = 0; //保存錯誤碼

char

error_info[1024] = '\0'; //保存錯誤信息

//對mysql數(shù)據(jù)庫進(jìn)行查詢操作:

char

query_sql[1024] = "select * from db_name.table_name";

//構(gòu)建查詢sql語句

if(result_

!= NULL) //防止之前已經(jīng)被使用過(所有的使用,在使用前都要判空)

{

mysql_free_result(result_);

result_

= NULL;

}

if(link_

== NULL) //防止沒有鏈接

{

//重連,按照建立mysql數(shù)據(jù)庫鏈接的方法進(jìn)行建立,前面的blog中有講到

}

//執(zhí)行sql查詢

if(mysql_query(link_,query_sql)

!= 0)

{

//查詢失敗

error_code

= mysql_errno(link_); //獲取錯誤碼

strncpy(error_info,mysql_error(link_),1024);

//獲取錯誤信息

if((error_code

== 2013) || (error_code == 2006)) //2006

mysql服務(wù)器不可用,2013查詢過程中,丟失鏈接

{

//重鏈,按照建立mysql數(shù)據(jù)庫鏈接的方法進(jìn)行建立

if(//重鏈?zhǔn)?

{

return

false;

}

//重鏈成功,再次查詢

if(mysql_query(link_,query_sql)

!= 0)

{

//再次查詢失敗

error_code

= mysql_errno(link_);

strncpy(error_info,mysql_error(link_),1024);

//返回錯誤

return

false;

}

error_code

= 0; //查詢成功了。

}

}

else

{

//查詢成功

}

//查詢成功,保存查詢結(jié)果

result_

= mysql_store_result(link_);

if(result_

== NULL)

{

error_code

= mysql_errno(link_); //獲取錯誤碼

strncpy(error_info,mysql_error(link_),1024);

//獲取錯誤信息

//返回錯誤

return

false;

}

//獲取查詢結(jié)果的行數(shù)(記錄數(shù))

return

mysql_num_rows(result_);

//獲取查詢結(jié)果的字段數(shù)

return

mysql_num_fields(result_);

//獲取查詢結(jié)果的各個字段的字段名稱

MYSQL_FIELD

*fields; //保存字段名字信息

unsing

int num_fields;

unsigned

int i;

num_fields

= mysql_num_fields(result); //獲取查詢結(jié)果中,字段的個數(shù)

fields

= mysql_fetch_fields(result); //獲取查詢結(jié)果中,各個字段的名字

for(i =

0; i < num_fields;i++)

{

printf("field

%u is %s\n",i,fields[i].name);

}

//獲取查詢出來的結(jié)果,即遍歷查詢到的每一行記錄

MYSQL_ROW

row; //保存行記錄信息

unsigned

int num_fields;

unsigned

int i;

num_fields

= mysql_num_fields(result_);

while((row

= mysql_fetch_row(result_))) //遍歷查詢結(jié)果中的各行記錄

{

unsigned

long *lengths = NULL;

lengths

= mysql_fetch_lengths(result_); //獲取每一個記錄行中,每一個字段的長度,在lengths數(shù)組中。

for( i

= 0; i < num_fields; i++)

{

printf("數(shù)據(jù)長度%u

\t 數(shù)據(jù)內(nèi)容%s",lengths[i],row[i]?row[i]:"NULL");

}

printf("\n");

}

//釋放資源,斷開鏈接

if(result_ != NULL)

{

mysql_free_result(result_);

result_ = NULL;

}

if(link_ != NULL)

{

mysql_close(link_);

link_ = NULL;

}

總結(jié)

以上是生活随笔為你收集整理的c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询操作,获取查询结果的字段数,记录行数,...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。