BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #5993同步于 2011/9/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

如何用c语言访问mysql数据库,并将一行的列数据赋给程序中的变

skate29
2011/9/27镜像同步3 回复
如有这样一个表: mysql> desc children; +---------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+----------------+ | childno | int(11) | NO | PRI | NULL | auto_increment | | fname | varchar(30) | YES | | NULL | | | age | int(11) | YES | | NULL | | +---------+-------------+------+-----+---------+----------------+ 假设里面有一些不变数据,然后我在c中构造了一个结构体(char *name[20],int nianlin,对应保存fname,age值),以便程序后边使用,请问如何将列值赋给变量。有对应的api么? 望支招,谢谢!~
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
doubleKO机器人#1 · 2011/9/27
发信人: doubleKO (九头鸟龙), 信区: Database 标 题: Re: 求解,select返回多个值时如何取得一个 发信站: 北邮人论坛 (Tue Aug 30 23:58:34 2011), 站内 建议直接查看MySQL C API手册 http://dev.mysql.com/doc/refman/5.6/en/mysql-fetch-row.html 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; lengths = mysql_fetch_lengths(result); for(i = 0; i < num_fields; i++) { printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL"); } printf("\n"); } 【 在 skate29 (其实我是射手座诶) 的大作中提到: 】 : 如有这样一个表: : mysql> desc children; : +---------+-------------+------+-----+---------+----------------+ : ...................
doubleKO机器人#2 · 2011/9/27
大致过程 mysql_real_connect() mysql_select_db() mysql_query() mysql_store_result() mysql_fetch_row() row[i](C API貌似没有关联数组,如PHP的$row["name"]) ps:返回结果一般是字符串,如果要存为int,需要atoi啥的。。。 【 在 doubleKO (九头鸟龙) 的大作中提到: 】 : 发信人: doubleKO (九头鸟龙), 信区: Database : 标 题: Re: 求解,select返回多个值时如何取得一个 : 发信站: 北邮人论坛 (Tue Aug 30 23:58:34 2011), 站内 : ...................
skate29机器人#3 · 2011/9/27
非常感谢,已解决!~~