sqlite.lua revision 1.2
11.2Slneto-- $NetBSD: sqlite.lua,v 1.2 2014/07/19 18:38:34 lneto Exp $ 21.1Smbalmer 31.2Slnetolocal sqlite = require 'sqlite' 41.1Smbalmer 51.1Smbalmerprint(sqlite._VERSION .. ' - ' .. sqlite._DESCRIPTION) 61.1Smbalmerprint(sqlite._COPYRIGHT) 71.1Smbalmerprint() 81.1Smbalmer 91.1Smbalmerprint('initialize sqlite') 101.1Smbalmersqlite.initialize() 111.1Smbalmer 121.1Smbalmerprint('this is sqlite ' .. sqlite.libversion() .. ' (' .. 131.1Smbalmer sqlite.libversion_number() .. ')') 141.1Smbalmerprint('sourceid ' .. sqlite.sourceid()) 151.1Smbalmer 161.1Smbalmerdb, state = sqlite.open('/tmp/db.sqlite', 171.1Smbalmer sqlite.OPEN_READWRITE + sqlite.OPEN_CREATE) 181.1Smbalmer 191.1Smbalmerif state ~= sqlite.OK then 201.1Smbalmer print('db open failed') 211.1Smbalmerelse 221.1Smbalmer err = db:exec('create table test (name varchar(32))') 231.1Smbalmer 241.1Smbalmer if err ~= sqlite.OK then 251.1Smbalmer print('table creation failed') 261.1Smbalmer print('error code ' .. db:errcode() .. ' msg ' .. db:errmsg()) 271.1Smbalmer end 281.1Smbalmer 291.1Smbalmer db:exec("insert into test values('Balmer')") 301.1Smbalmer print('last command changed ' .. db:changes() .. ' rows') 311.1Smbalmer 321.1Smbalmer stmt = db:prepare("insert into test values(:name)") 331.1Smbalmer 341.1Smbalmer print('statement has ' .. stmt:bind_parameter_count() .. ' parameters') 351.1Smbalmer print('param 1 name: ' .. stmt:bind_parameter_name(1)) 361.1Smbalmer print('param name is at index ' .. stmt:bind_parameter_index('name')) 371.1Smbalmer 381.1Smbalmer stmt:bind(1, 'Hardmeier') 391.1Smbalmer stmt:step() 401.1Smbalmer stmt:reset() 411.1Smbalmer stmt:bind(1, 'Keller') 421.1Smbalmer stmt:step() 431.1Smbalmer stmt:finalize() 441.1Smbalmer 451.1Smbalmer s2 = db:prepare('select name from test') 461.1Smbalmer 471.1Smbalmer while s2:step() == sqlite.ROW do 481.1Smbalmer print('name = ' .. s2:column(1)) 491.1Smbalmer end 501.1Smbalmer s2:finalize() 511.1Smbalmer 521.1Smbalmer stmt = db:prepare('drop table testx') 531.1Smbalmer stmt:step() 541.1Smbalmer stmt:finalize() 551.1Smbalmer db:close() 561.1Smbalmerend 571.1Smbalmer 581.1Smbalmerprint('shutdown sqlite') 591.1Smbalmersqlite.shutdown() 601.1Smbalmer 61