| SQLITE(3lua) | LUA Library Manual | SQLITE(3lua) |
sqlite — access
SQLite3 files from Lua
local sqlite = require 'sqlite'
err =
sqlite.initialize()sqlite.shutdown()db, err =
sqlite.open(file [, flags])version
= sqlite.libversion()version
= sqlite.libversion_number()id =
sqlite.sourceid()err =
sqlite.close(db)stmt, err =
sqlite.prepare(db, sql)err =
sqlite.exec(db, sql)err =
sqlite.errcode(db)msg =
sqlite.errmsg(db)res =
sqlite.get_autocommit(db)res =
sqlite.changes(db)err =
sqlite.bind(stmt, pidx, value)count =
sqlite.bind_parameter_count(stmt)pidx =
sqlite.bind_parameter_index(stmt, name)name =
sqlite.bind_parameter_name(stmt, pidx)err =
sqlite.step(stmt)value =
sqlite.column(stmt, cidx)sqlite.reset(stmt)sqlite.clear_bindings(stmt)sqlite.finalize(stmt)name =
sqlite.column_name(stmt, cidx)count =
sqlite.column_count(stmt)The sqlite Lua binding provides access to
SQLite3 files.
err =
sqlite.initialize()sqlite.shutdown()sqlite.initialize().
Workstation applications using SQLite normally do not need to invoke this
function.
db, err =
sqlite.open(file [, flags])sqlite.OPEN_READONLYsqlite.OPEN_READWRITEsqlite.OPEN_CREATEversion
= sqlite.libversion()version
= sqlite.libversion_number()id =
sqlite.sourceid()Database functions operate on database objects returned by
sqlite.open().
err =
sqlite.close(db)stmt,
err = sqlite.prepare(db, sql)err =
sqlite.exec(db, sql)err =
sqlite.errcode(db)msg =
sqlite.errmsg(db)res =
sqlite.get_autocommit(db)res =
sqlite.changes(db)err =
sqlite.bind(stmt, pidx, value)count =
sqlite.bind_parameter_count(stmt)pidx =
sqlite.bind_parameter_index(stmt, name)name =
sqlite.bind_parameter_name(stmt, pidx)err =
sqlite.step(stmt)value =
sqlite.column(stmt, cidx)sqlite.reset(stmt)sqlite.reset()
function is called to reset a prepared statement object back to its
initial state, ready to be re-executed.
sqlite.clear_bindings(stmt)sqlite.reset()
does not reset the bindings on a prepared statement. Use this routine to
reset all host parameters to NULL.
sqlite.finalize(stmt)sqlite.finalize()
function is called to delete a prepared statement.
name =
sqlite.column_name(stmt, cidx)count =
sqlite.column_count(stmt)Most functions return an error code, the following error codes are defined:
sqlite.OKsqlite.ERRORsqlite.INTERNALsqlite.PERMsqlite.ABORTsqlite.BUSYsqlite.LOCKEDsqlite.NOMEMsqlite.READONLYsqlite.INTERRUPTsqlite3_interrupt().
sqlite.IOERRsqlite.CORRUPTsqlite.NOTFOUNDsqlite3_file_control().
sqlite.FULLsqlite.CANTOPENsqlite.PROTOCOLsqlite.EMPTYsqlite.SCHEMAsqlite.TOOBIGsqlite.CONSTRAINTsqlite.MISMATCHsqlite.MISUSEsqlite.NOLFSsqlite.AUTHsqlite.FORMATsqlite.RANGEsqlite.bind()
out of range.
sqlite.NOTADBsqlite.ROWsqlite.step()
has another row ready.
sqlite.DONEsqlite.step()
has finished executing.An sqlite manual appeared in
NetBSD 7.0.
The sqlite Lua binding was written by
Marc Balmer
<mbalmer@NetBSD.org>.
| October 28, 2013 | NetBSD 11.0 |