1)
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
Второй работает, а первый - нет.
Почему это так? Разве функция db.execute
не возвращает набор результатов. Если так, то почему вы не можете пройти через это?