Ruby メソッド内で "INSERT INTO" sqlite ステートメントをループするのに苦労しています。ご意見をお聞かせください。私のコードを以下に示します。エラー メッセージは、Ruby がメソッド内の db オブジェクトを認識していないことを示唆しているようです?? ちょっと初心者で申し訳ありませんが、私はインターネットをトロールしましたが、答えが見つかりませんでした:(
require "sqlite3"
require "nokogiri"
begin
db = SQLite3::Database.new('RM.db')
db.execute "CREATE TABLE IF NOT EXISTS Properties(address TEXT, askingPrice TEXT)"
def get_property_list(newpage, dbname)
resultspage = Nokogiri::HTML(open(newpage))
details = resultspage.css("div.details.clearfix")
count_items = details.count
puts "there are #{count_items} items on this page"
for i in 0..count_items-1
address = resultspage.css("span.displayaddress")[i]
asking_price = resultspage.css("p.price")[i]
puts address.text
puts asking_price.text
dbname.execute "INSERT INTO Properties VALUES(#{address}, #{asking_price})"
end
end
get_property_list("someurl.com", db)
rows = db.execute("select * from Properties")
p rows
ensure
db.close if db
end