如何在LuaSQLite 3中使用参数化查询?
我尝试了解文件:
http://luasqlite.luaforge.net/lsqlite3.html#methods准备好的陈述
并查看此处的示例:
How to quote values for LuaSQL?
但我不能让这个工作:
getTable = function( _key)
local path = system.pathForFile("database.db", system.ResourceDirectory)
local dc = sqlite3.open( path )
local stmt = dc:prepare[[ SELECT * FROM Table WHERE Key = :Key ]]
local sql = stmt:bind({key=_weaponType})
return dc:nrows(sql)
end
我收到错误:
attempt to index 'stmt' (a nil value)
就行:
local sql = stmt:bind({key=_weaponType})
P.S。我目前正在使用Corona SDK开发游戏。
答案 0 :(得分:5)
您attempt to index 'stmt' (a nil value)
错误意味着dc:prepare
没有返回任何内容。
我认为它实际上正在返回nil,errormsg
:检查错误是什么;你的陈述可能是不正确的。
答案 1 :(得分:0)
当stmt为空值时,因为准备指令失败。确保所有字段都存在且查询有效