如何在LuaSQLite 3中使用参数化查询?

E S*_*E S 1 sql lua coronasdk

你如何在LuaSQLite 3中使用参数化查询?

我试过了解文件:

http://luasqlite.luaforge.net/lsqlite3.html#methods用于准备好的陈述

并看看这里的例子:

如何引用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
Run Code Online (Sandbox Code Playgroud)

我收到错误:

attempt to index 'stmt' (a nil value)
Run Code Online (Sandbox Code Playgroud)

在线上:

local sql = stmt:bind({key=_weaponType})
Run Code Online (Sandbox Code Playgroud)

PS我正在开发Corona SDK游戏.

dau*_*tor 5

你的attempt to index 'stmt' (a nil value)错误意味着dc:prepare没有返回任何东西.

我假设它实际上正在返回nil,errormsg:检查错误是什么; 你的陈述可能是不正确的.

  • 你刚刚做了一个Lua大写事故:它只是lua(你没有PYTHON):) (2认同)