1
我有一個例子字符串「佳能的PowerShot 12.1萬像素」,當我運行下面的代碼,它似乎失敗:插入Ruby的字符串到sqlite的
db.execute "CREATE TABLE IF NOT EXISTS Products(id INTEGER PRIMARY KEY, stockID INTEGER, Name TEXT)"
id = 12345
name = "Canon PowerShot 12.1-Megapixel"
db.execute("INSERT INTO Products (stockID, Name) VALUES (#{id}, #{name})")
錯誤代碼是:
C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.6-x86-mingw32/lib/sqlite3/d
atabase.rb:91:in `initialize': near "PowerShot": syntax error
(SQLite3::SQLExcep tion)
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.6-x86-mingw32/
lib/sqlite3/database.rb:91:in `new'
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.6-x86-mingw32/
lib/sqlite3/database.rb:91:in `prepare'
from C:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.6-x86-mingw32/
lib/sqlite3/database.rb:134:in `execute'
from E:/Documents/Cowboom/scraping/DBDOTDList.rb:48:in `<main>'
任何想法爲什麼這後「PowerShot」死亡?
哇,謝謝你的好解釋。經過一些更多的搜索後,我實際上找到了你提供的完全相同的例子,但是直到你解釋它之前,我都不知道爲什麼。感謝:D – rlhh