RosettaCodeData/Task/Parameterized-SQL-statement/Seed7/parameterized-sql-statement...

33 lines
1.3 KiB
Plaintext

$ include "seed7_05.s7i";
include "sql_base.s7i";
const proc: main is func
local
var database: testDb is database.value;
var sqlStatement: statement is sqlStatement.value;
var string: name is "Smith, Steve";
begin
testDb := openDatabase(DB_SQLITE, "test", "test", "test");
execute(testDb, "create table players (name CHAR(32), score INTEGER, active CHAR, jerseyNum INTEGER)");
execute(testDb, "insert into players values ('Jones, Bob',0,0,99)");
execute(testDb, "insert into players values ('Jesten, Jim',0,0,100)");
execute(testDb, "insert into players values ('Jello, Frank',0,0,101)");
statement := prepare(testDb, "update players set name = ?, score = ?, active = ? \
\where jerseyNum = ?");
bind(statement, 1, name);
bind(statement, 2, 42);
bind(statement, 3, TRUE);
bind(statement, 4, 99);
execute(statement);
statement := prepare(testDb, "select * from players");
execute(statement);
while fetch(statement) do
writeln(column(statement, 1, string) <& " " <&
column(statement, 2, integer) <& " " <&
column(statement, 3, boolean) <& " " <&
column(statement, 4, integer));
end while;
execute(testDb, "drop table players");
close(testDb);
end func;