我正在Ruby上的.sqlite文件上执行SQL语句。我需要在WHERE子句中使用一个变量,但我不确定语法。这也是我使用name
变量保存结果的方式吗?
total = 0.0
db = SQLite3::Database.open "Test2.sqlite"
for i in 0..@items.length
name = db.execute "SELECT price FROM Products WHERE product_code = {variable here}"
答案 0 :(得分:1)
你可以使用这样的绑定变量:
name = db.execute "SELECT price FROM Products WHERE product_code = ?", bind_variable_here
请参阅http://sqlite-ruby.rubyforge.org/classes/SQLite/Database.html#M000078
正如您的问题所示,您可以使用Ruby字符串插值来获得正确的结果,但这通常是一个坏主意,因为它可能使您的应用程序容易受到SQL注入。