我使用ruby创建了一个带有sqlite数据库的简单产品表。我可以按照正常的select语句检索recors,并将product_code作为where条件传递。 每当我检索一条记录时,我希望能够将记录存储在一个数组中并添加到所选项目的价格中以获得总价值,就像在线购物篮一样。 我在ruby中没有rails,只是控制台。 选择陈述的例子
def select(item_code)
item_code = item_code
begin
db = SQLite3::Database.new "test.db"
results = db.get_first_row "SELECT * FROM Products WHERE Product_code = ?",
item_code
puts results.join "\s"
rescue SQLite3::Exception => e
puts "Exception occured"
puts e
ensure
db.close if db
end
端
谢谢。答案 0 :(得分:0)
尝试这样的事情
$prices, $index_of_price = [], 0
#index_of_price is the index of the field in your result
def select(item_code)
begin
db = SQLite3::Database.new "test.db"
results = db.get_first_row "SELECT * FROM Products WHERE Product_code = ?", item_code
$prices << results[$index_of_price]
rescue
puts $!
ensure
db.close if db
end
end
select 1
select 2
puts "Total is #{$prices.inject(0){|sum,item| sum + item}}"