Module Name: src Committed By: mbalmer Date: Sat Oct 15 10:27:06 UTC 2011
Added Files: src/lib/lua/sqlite: test-sqlite.lua Log Message: A small test/demo program to show the sqlite Lua module usage. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/lib/lua/sqlite/test-sqlite.lua Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Added files: Index: src/lib/lua/sqlite/test-sqlite.lua diff -u /dev/null src/lib/lua/sqlite/test-sqlite.lua:1.1 --- /dev/null Sat Oct 15 10:27:06 2011 +++ src/lib/lua/sqlite/test-sqlite.lua Sat Oct 15 10:27:06 2011 @@ -0,0 +1,53 @@ +require 'sqlite' + +print('initialize sqlite') +sqlite.initialize() + +print('this is sqlite ' .. sqlite.libversion() .. ' (' .. + sqlite.libversion_number() .. ')') +print('sourceid ' .. sqlite.sourceid()) + +db, state = sqlite.open('db.sqlite', + sqlite.OPEN_READWRITE + sqlite.OPEN_CREATE) + +if state ~= sqlite.OK then + print('db open failed') +else + err = db:exec('create table test (name varchar(32))') + + if err ~= sqlite.OK then + print('table creation failed') + print('error code ' .. db:errcode() .. ' msg ' .. db:errmsg()) + end + + db:exec("insert into test values('Balmer')") + + stmt = db:prepare("insert into test values(:name)") + + print('statement has ' .. stmt:bind_parameter_count() .. ' parameters') + print('param 1 name: ' .. stmt:bind_parameter_name(1)) + print('param name is at index ' .. stmt:bind_parameter_index('name')) + + stmt:bind(1, 'Hardmeier') + stmt:step() + stmt:reset() + stmt:bind(1, 'Keller') + stmt:step() + stmt:finalize() + + s2 = db:prepare('select name from test') + + while s2:step() == sqlite.ROW do + print('name = ' .. s2:column(1)) + end + s2:finalize() + + stmt = db:prepare('drop table testx') + stmt:step() + stmt:finalize() + db:close() +end + +print('shutdown sqlite') +sqlite.shutdown() +