失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询

c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询

时间:2023-12-11 11:18:45

相关推荐

c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询

//MYSQL_RES保存查询结构

MYSQL_RES*

result_ = NULL;

int

error_code = 0; //保存错误码

char

error_info[1024] = '\0'; //保存错误信息

//对mysql数据库进行查询操作:

char

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

//构建查询sql语句

if(result_

!= NULL) //防止之前已经被使用过(所有的使用,在使用前都要判空)

{

mysql_free_result(result_);

result_

= NULL;

}

if(link_

== NULL) //防止没有链接

{

//重连,按照建立mysql数据库链接的方法进行建立,前面的blog中有讲到

}

//执行sql查询

if(mysql_query(link_,query_sql)

!= 0)

{

//查询失败

error_code

= mysql_errno(link_); //获取错误码

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

//获取错误信息

if((error_code

== ) || (error_code == )) //

mysql服务器不可用,查询过程中,丢失链接

{

//重链,按照建立mysql数据库链接的方法进行建立

if(//重链失败)

{

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

{

//查询成功

}

//查询成功,保存查询结果

result_

= mysql_store_result(link_);

if(result_

== NULL)

{

error_code

= mysql_errno(link_); //获取错误码

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

//获取错误信息

//返回错误

return

false;

}

//获取查询结果的行数(记录数)

return

mysql_num_rows(result_);

//获取查询结果的字段数

return

mysql_num_fields(result_);

//获取查询结果的各个字段的字段名称

MYSQL_FIELD

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

unsing

int num_fields;

unsigned

int i;

num_fields

= mysql_num_fields(result); //获取查询结果中,字段的个数

fields

= mysql_fetch_fields(result); //获取查询结果中,各个字段的名字

for(i =

0; i < num_fields;i++)

{

printf("field

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

}

//获取查询出来的结果,即遍历查询到的每一行记录

MYSQL_ROW

row; //保存行记录信息

unsigned

int num_fields;

unsigned

int i;

num_fields

= mysql_num_fields(result_);

while((row

= mysql_fetch_row(result_))) //遍历查询结果中的各行记录

{

unsigned

long *lengths = NULL;

lengths

= mysql_fetch_lengths(result_); //获取每一个记录行中,每一个字段的长度,在lengths数组中。

for( i

= 0; i < num_fields; i++)

{

printf("数据长度%u

\t 数据内容%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;

}

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

如果觉得《c 编程 mysql结果集_使用mysql C语言API编写程序&mdash;MYSQL数据库查询操作(执行查询》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。