ruby语言中数据表查询结果的取得方法

刚才为了不用迭代取出ruby查询结果集内的数据翻了好长时间文档。
最后终于在这个地址:http://www.tmtm.org/en/mysql/ruby/README_ja.html找到了答案。
但是是日语的,幸好本人有一定的日语基础。英文版的文档实在不敢恭维,写的太差了。
可能是因为日本人写的原因吧,所以英文写的很不详细 :wink: 等有时间了,我就把这份文档翻译过来。
查询其实是这样的

count = dbh.query("SELECT COUNT(*) AS zongshu FROM diginfo")

因为只是查询一表的记录条数,所以 非常之不情愿去为了一条记录的一个字段去写个迭代。
所以去google查了一下找到了上面的地址。
如果查询的结果是个记录集合我想大家很容易去解析,用each do或者each_hash很轻松就可以解决了。
其实,取出单个字段的方法和迭代也非常的类似,就是要用到Mysql::Result class的一些不常用的方法。
具体的写法如下:

count.fetch_row()[0].to_s()


count.fetch_hash()["zongshu"].to_s()

解释一下,第一种方法是将当前行(因为只有一行,所以就是第一行),以数组的型式返回,再取第0列的值,就得到想要的东西了。
第二种方法是将当前行以哈希表(字段名称-值)的型式返回,在以字段名为key取出想要的之就可以了。这里字段的名称是“zongshu”。
其实,做完回头想一想这两种方法和上面两种迭代方式是非常相似的,只是少了循环而已。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值