0
Этот код НЕ меняет данные в столбце fullname
в таблице person
, и он также не вызывает ошибок. я использовал переменную $editKey
для извлечения записи для редактирования, поэтому он работает, как и планировалось:Обновление записи в SQLite?
def upDateRecord
getInputs
puts $editKey
puts $fullname
db = SQLite3::Database.open "ruby-test-02.db"
db.execute "UPDATE person SET fullname = $fullname WHERE ID = $editKey"
rescue SQLite3::Exception => e
puts "Exception occured"
puts e
ensure
db.close
puts $editKey
puts $fullname
end
'db.execute 'UPDATE person SET fullname = # {$ fullname} WHERE ID = # {$ editKey}" 'должен работать –
Ruby не является PHP. Возможно, вам захочется прочитать вступительную книгу о рубине (и ее обработку переменных в целом и в отношении интерполяции строк). Кроме того, в ruby '$ foo' есть глобальная переменная (то, что вам никогда не придется использовать, за исключением особых ситуаций). –
Кроме того, в Ruby переменные и методы записываются с использованием snake_case, а классы - CamelCase. Кроме того, изучите использование ORM, например [Sequel] (http://sequel.jeremyevans.net). Это делает жизнь намного проще. –