Как использовать параметризованный запрос в LuaSQLite 3? - PullRequest
1 голос
/ 09 ноября 2011

Как вы используете параметризованный запрос в 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

Я получаю сообщение об ошибке:

attempt to index 'stmt' (a nil value)

на линии:

local sql = stmt:bind({key=_weaponType})

PS В настоящее время я разрабатываю игру в Corona SDK.

Ответы [ 2 ]

5 голосов
/ 09 ноября 2011

Вы attempt to index 'stmt' (a nil value) ошибка означает, что dc:prepare ничего не вернул.

Я предполагаю, что на самом деле возвращается nil,errormsg: проверьте, в чем ошибка; Ваше утверждение, вероятно, неверно.

0 голосов
/ 25 июня 2014

Когда stmt является нулевым значением, это потому, что инструкция по подготовке не выполненаУбедитесь, что все поля существуют и запрос действителен

...