从结果集ruby sqlite中检索值

时间:2013-07-25 17:51:35

标签: sql ruby sqlite hash resultset

我按如下方式运行了查询:

 rs = conn.execute("SELECT * FROM fruits WHERE name = 'apple' AND type = 'sweet'" )
  puts "Results = #{rs.inspect}"

这给了我类似的东西

 Results = [{"fruitId"=> 123, "name"=>"apple", "type"=>"sweet" }]

如何从中获取fruitId?

我试过了:

   puts "Retrieved fruitId = #{rs['fruitId'] }"

但这会导致错误:       []没有将字符串隐式转换为整数

我如何才能获得水果?

由于

2 个答案:

答案 0 :(得分:1)

Array Hashes。您可以访问fruitId中第一项的Array

Results[0]["fruitId"]
#=> 123

答案 1 :(得分:1)

您正在返回一个数组,但您希望哈希能够使用rs['fruitId']。这就是它的抱怨。

尝试这样做:

db = SQLite3::Database.open "test.db"
db.results_as_hash = true

来源:

http://zetcode.com/db/sqliteruby/queries/

http://www.ruby-doc.org/core-2.0/Hash.html