【发布时间】:2017-06-14 15:07:13
【问题描述】:
我在 sqlite3 gem 的帮助下在 ruby 中使用 sqlite3 数据库(我试图在不使用 ActiveRecords 的情况下更好地理解使用 sqlite3 gem)。我在下面有一个 sql 查询:
SELECT id FROM contacts WHERE first_name = 'Charles'
我希望它从中返回值“5”
执行
$db.execute('SELECT id FROM contacts WHERE first_name = ?', 'Charles') do |result|
puts result
end
上面将打印“5”,但会返回一个 sqlite3 对象。我似乎无法让execute 方法返回值'5'。
查询
$db.query('SELECT id FROM contacts WHERE first_name = ?', 'Charles') do |result|
result.first.first
end
我能得到的最接近的方法是使用query 方法返回值“5”(上图),但这需要.first.first,这似乎很复杂。
有没有更好的方法让我获得所需的价值?即也许通过访问 sqlite3 对象?
【问题讨论】: