Adding bind

This commit is contained in:
Maas-Maarten Zeeman
2011-10-30 23:32:28 +01:00
parent faa567a135
commit d795f1946d
3 changed files with 89 additions and 23 deletions

View File

@@ -48,6 +48,27 @@ prepare_test() ->
ok.
bind_test() ->
{ok, Db} = esqlite:open(":memory:"),
ok = esqlite:exec(Db, "begin;"),
ok = esqlite:exec(Db, "create table test_table(one varchar(10), two int);"),
ok = esqlite:exec(Db, ["insert into test_table values(", "\"hello1\"", ",", "10" ");"]),
ok = esqlite:exec(Db, ["insert into test_table values(", "\"hello2\"", ",", "11" ");"]),
ok = esqlite:exec(Db, ["insert into test_table values(", "\"hello3\"", ",", "12" ");"]),
ok = esqlite:exec(Db, ["insert into test_table values(", "\"hello4\"", ",", "13" ");"]),
ok = esqlite:exec(Db, "commit;"),
%% Create a prepared statement
{ok, Statement} = esqlite:prepare(Db, "insert into test_table values(?, ?)"),
esqlite:bind(Statement, ["one", 2]),
esqlite:step(Statement),
esqlite:bind(Statement, ["three", 4]),
esqlite:step(Statement),
{ok, S1} = esqlite:prepare(Db, "select * from test_table where one = 'one'"),
[{"one", 2}] = esqlite:step(S1),
ok.
exec(Statement) ->
exec(Statement, [], 0).
@@ -78,11 +99,11 @@ exec(Statement, Acc, Tries) ->
% api...
q(Sql, Connection) ->
ok.
%% q(Sql, Connection) ->
%% ok.
q(Sql, Args, Connection) ->
ok.
%% q(Sql, Args, Connection) ->
%% ok.
%%
@@ -99,8 +120,8 @@ q(Sql, Args, Connection) ->
%% return
%% {ok, Result} -- result kan dan headers, rows of request-id (voor async)
%% {error, ...
q(Sql, Args, Options, Connection) ->
ok.
%% q(Sql, Args, Options, Connection) ->
%% ok.