免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2679 | 回复: 3
打印 上一主题 下一主题

急问!MySQL C API 如何取得整型数值? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-30 00:36 |只看该作者 |倒序浏览
例如:create table users(username varchar(20),card bigint unsigned);

然后插入:insert into users value('qmac’,1234567);

在调用MYSQL_ROW sqlrow= mysql_fetch_row(mysql_res)取得记录值后,sqlrow[1]数组中保存的的是‘1234567’的字符数组,
而我现在想取得1234567整型值,就像unsigned long long int i=sqlrow[1];直接取得整型值该怎么做?

论坛徽章:
0
2 [报告]
发表于 2010-04-30 10:28 |只看该作者
知道了,用预处理

论坛徽章:
0
3 [报告]
发表于 2010-04-30 12:17 |只看该作者
知道了,用预处理
qmac 发表于 2010-04-30 10:28



    怎么个预处理? 我一般都是取出来再atoi的

论坛徽章:
0
4 [报告]
发表于 2010-04-30 15:24 |只看该作者
那MySQL手册里有的,用什么mysql_stmt_打头的函数。
你说的atoi的话只是将数字字符窜转为整型吧,这样貌似有问题,就比如我上面的例子,
在card字段里插入123456789(说明:unsigned bigint类型的取值范围为0——18446744073709551615
),然后通过sqlrow[1]取得值并按十六进制打印,结果只有12345678的ascii码,少了9。这说明在把123456789取出来时转为字符串了,而且只取8个字节。


25.2. MySQL C API
25.2.1. C API数据类型
25.2.2. C API函数概述
25.2.3. C API函数描述
25.2.4. C API预处理语句
25.2.5. C API预处理语句的数据类型
25.2.6. C API预处理语句函数概述
25.2.7. C API预处理语句函数描述
25.2.8. C API预处理语句方面的问题
25.2.9. 多查询执行的C API处理
25.2.10. 日期和时间值的C API处理
25.2.11. C API线程函数介绍
25.2.12. C API嵌入式服务器函数介绍
25.2.13. 使用C API时的常见问题

预处理看着是可以的,待会儿试下 哎,毕设,头大了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP