diff options
Diffstat (limited to 'lib/lua/sqlite/test-sqlite.lua')
| -rw-r--r-- | lib/lua/sqlite/test-sqlite.lua | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/lua/sqlite/test-sqlite.lua b/lib/lua/sqlite/test-sqlite.lua new file mode 100644 index 00000000000..b1959211649 --- /dev/null +++ b/lib/lua/sqlite/test-sqlite.lua @@ -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() + |
