在Ruby中准备和执行SQLite语句
我一直试图在我准备好一些已执行的语句后将其放入。这样做的目的是清理我的数据输入,这是我以前从未做过的。我遵循了这些步骤,但我没有得到我想要的结果 以下是我所拥有的:在Ruby中准备和执行SQLite语句,ruby,sqlite,Ruby,Sqlite,我一直试图在我准备好一些已执行的语句后将其放入。这样做的目的是清理我的数据输入,这是我以前从未做过的。我遵循了这些步骤,但我没有得到我想要的结果 以下是我所拥有的: require 'sqlite3' $db = SQLite3::Database.open "congress_poll_results.db" def rep_pull(state) pull = $db.prepare("SELECT name, location FROM congress_members WHERE
require 'sqlite3'
$db = SQLite3::Database.open "congress_poll_results.db"
def rep_pull(state)
pull = $db.prepare("SELECT name, location FROM congress_members WHERE location = ?")
pull.bind_param 1, state
puts pull.execute
end
rep_pull("MN")
=> #<SQLite3::ResultSet:0x2e69e00>
我所期望的是MN中的代表列表,但我只得到SQLite3::ResultSet:0x2e69e00
我错过了什么?非常感谢。试试这个
def rep_pull(state)
pull = $db.prepare("SELECT name, location FROM congress_members WHERE location = ?")
pull.bind_param 1, state
pull.execute do |row|
p row
end
end
我建议不要尝试直接写入任何特定的DBM。相反,通过使用诸如Sequel、DataMapper或Active Record之类的ORM,将您的代码与特定风格的SQL分离。这样,您就可以使用ORM进行编码,然后ORM会为您正在使用的DBM生成适当的查询。如果您需要迁移到另一个DBM,您可以对配置做一些小的调整,如果编写正确,其余的代码将保持不变。我建议使用。看看它的首页,你会发现与SQLite对话是多么容易。