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()
+

Reply via email to