1

我使用 ruby​​ 创建了一个带有 sqlite 数据库的简单产品表。我可以按照将 product_code 作为 where 条件传递的正常 select 语句来检索记录。每当我检索记录时,我希望能够将记录存储在数组中,并添加到所选项目的价格中以获得总价值,就像在在线购物篮中一样。我在没有导轨的红宝石中这样做,只是控制台。选择语句的示例

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

结尾

谢谢你。

4

1 回答 1

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}}"
于 2012-08-10T15:02:50.660 回答