sqlite.lua revision 1.3
11.3Skamil-- $NetBSD: sqlite.lua,v 1.3 2015/12/08 23:04:40 kamil 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.3Skamildb, state = sqlite.open('/tmp/db.sqlite', sqlite.OPEN_CREATE) 171.1Smbalmer 181.1Smbalmerif state ~= sqlite.OK then 191.1Smbalmer print('db open failed') 201.1Smbalmerelse 211.1Smbalmer err = db:exec('create table test (name varchar(32))') 221.1Smbalmer 231.1Smbalmer if err ~= sqlite.OK then 241.1Smbalmer print('table creation failed') 251.1Smbalmer print('error code ' .. db:errcode() .. ' msg ' .. db:errmsg()) 261.1Smbalmer end 271.1Smbalmer 281.1Smbalmer db:exec("insert into test values('Balmer')") 291.1Smbalmer print('last command changed ' .. db:changes() .. ' rows') 301.1Smbalmer 311.1Smbalmer stmt = db:prepare("insert into test values(:name)") 321.1Smbalmer 331.1Smbalmer print('statement has ' .. stmt:bind_parameter_count() .. ' parameters') 341.1Smbalmer print('param 1 name: ' .. stmt:bind_parameter_name(1)) 351.3Skamil print('param name is at index ' .. stmt:bind_parameter_index(':name')) 361.1Smbalmer 371.1Smbalmer stmt:bind(1, 'Hardmeier') 381.1Smbalmer stmt:step() 391.1Smbalmer stmt:reset() 401.1Smbalmer stmt:bind(1, 'Keller') 411.1Smbalmer stmt:step() 421.1Smbalmer stmt:finalize() 431.1Smbalmer 441.1Smbalmer s2 = db:prepare('select name from test') 451.1Smbalmer 461.1Smbalmer while s2:step() == sqlite.ROW do 471.1Smbalmer print('name = ' .. s2:column(1)) 481.1Smbalmer end 491.1Smbalmer s2:finalize() 501.1Smbalmer 511.3Skamil stmt = db:prepare('drop table test') 521.1Smbalmer stmt:step() 531.1Smbalmer stmt:finalize() 541.1Smbalmer db:close() 551.1Smbalmerend 561.1Smbalmer 571.1Smbalmerprint('shutdown sqlite') 581.1Smbalmersqlite.shutdown() 59