Parameterized SQL statement: Difference between revisions

(Added Kotlin)
Line 751:
 
my $rows-affected = $update.execute("Smith, Steve",42,'true',99);</lang>
 
=={{header|Phix}}==
{{libheader|SQLite}}
<lang Phix>--
-- demo\rosetta\Parametrized_SQL_statement.exw
--
include pSQLite.e
sqlite3 db = sqlite3_open(":memory:")
 
constant {coltypes,colfmts,colrids} = columnize({
{SQLITE_INTEGER,"%4d",routine_id("sqlite3_column_int")},
{SQLITE_FLOAT,"%4g",routine_id("sqlite3_column_double")},
{SQLITE_TEXT,"%-20s",routine_id("sqlite3_column_text")}})
 
integer res = sqlite3_exec(db,`create table players (name, score, active, jerseyNum)`)
res = sqlite3_exec(db,`insert into players values ('Roethlisberger, Ben', 94.1, 1, 7 )`)
res = sqlite3_exec(db,`insert into players values ('Smith, Alex', 85.3, 1, 11)`)
res = sqlite3_exec(db,`insert into players values ('Doe, John', 15, 0, 99)`)
res = sqlite3_exec(db,`insert into players values ('Manning, Payton', 96.5, 0, 123)`)
 
pp({"Before",sqlite3_get_table(db, "select * from players")},{pp_Nest,2})
 
sqlite3_stmt pStmt = sqlite3_prepare(db, `update players set name=?, score=?, active=? where jerseyNum=?`)
sqlite3_bind_text(pStmt,1,"Smith, Steve")
sqlite3_bind_double(pStmt,2,42)
sqlite3_bind_int(pStmt,3,true)
sqlite3_bind_int(pStmt,4,99)
res = sqlite3_step(pStmt);
if res!=SQLITE_DONE then ?9/0 end if
if sqlite3_finalize(pStmt)!=SQLITE_OK then ?9/0 end if
 
pp({"After",sqlite3_get_table(db, "select * from players")},{pp_Nest,2})
 
sqlite3_close(db)</lang>
<small>(The distributed version of this code displays nicer formatted output, but is nearly twice as long.)</small>
{{out}}
<pre>
{"Before",
{{"name", "score", "active", "jerseyNum"},
{"Roethlisberger, Ben", "94.1", "1", "7"},
{"Smith, Alex", "85.3", "1", "11"},
{"Doe, John", "15", "0", "99"},
{"Manning, Payton", "96.5", "0", "123"}}}
{"After",
{{"name", "score", "active", "jerseyNum"},
{"Roethlisberger, Ben", "94.1", "1", "7"},
{"Smith, Alex", "85.3", "1", "11"},
{"Smith, Steve", "42.0", "1", "99"},
{"Manning, Payton", "96.5", "0", "123"}}}
</pre>
 
=={{header|PHP}}==
7,805

edits