2
require 'sqlite3'
db = SQLite3::Database.new('development.sqlite3')
db.results_as_hash = true;
rows = db.execute(" SELECT * FROM listings WHERE name = '' OR telephone = '' OR latitude = '' OR longitude = '' ")
rows do |row|
id_num = row['id']
puts "Id = #{id_num}"
dupe_name = row['name']
puts "name = #{dupe_name}"
dupe_tel = row['telephone']
puts "tel = #{dupe_tel}"
dupe_lat = row['latitude']
puts "lat = #{dupe_lat}"
dupe_long = row['longitude']
puts "lat = #{dupe_long}"
puts '===end===='
end
2)
require 'sqlite3'
db = SQLite3::Database.new('development.sqlite3')
db.results_as_hash = true;
db.execute(" SELECT * FROM listings WHERE name = '' OR telephone = '' OR latitude = '' OR longitude = '' ") do |row|
id_num = row['id']
puts "Id = #{id_num}"
dupe_name = row['name']
puts "name = #{dupe_name}"
dupe_tel = row['telephone']
puts "tel = #{dupe_tel}"
dupe_lat = row['latitude']
puts "lat = #{dupe_lat}"
dupe_long = row['longitude']
puts "lat = #{dupe_long}"
puts '===end===='
end
第二1が動作し、第一1にはありません。
なぜそうですか? db.execute
関数は結果セットを返しません。もしそうなら、なぜあなたはそれをループすることができませんか?
Aha。わかった。どうもありがとう – banditKing