我按如下方式运行了查询:
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'] }"
但这会导致错误: []没有将字符串隐式转换为整数
我如何才能获得水果?
由于
答案 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
来源: