Parameterized SQL statement: Difference between revisions

Content added Content deleted
Line 341: Line 341:
Uses the SQLite package.
Uses the SQLite package.
<lang Julia>
<lang Julia>

using SQLite
using SQLite


name = "Smith, Steve"
name = "Smith, Steve"
jerseys = Dict("Smith, Steve" => 99)
jerseys = Dict("Smith, Steve" => 42)


BOOL(tf) = if(tf) "TRUE" else "FALSE" end
BOOL(tf) = if(tf) "TRUE" else "FALSE" end
Line 353: Line 352:
SQLite.execute!(db, "create table players (id integer primary key,
SQLite.execute!(db, "create table players (id integer primary key,
name text,
name text,
score real,
score,
active,
active,
jerseynum integer)")
jerseynum integer)")
SQLite.query(db, "INSERT INTO players (name, score, active, jerseynum) values ('Jones, James', 9, 'FALSE', 42)");
SQLite.query(db, "INSERT INTO players (name, score, active, jerseynum) values ('Jones, James', '9', 'FALSE', 42)");
SQLite.query(db, "UPDATE players SET name = ?, score = ?, active = ? WHERE jerseynum = ?";
SQLite.query(db, "UPDATE players SET name = ?, score = ?, active = ? WHERE jerseynum = ?";
values = ["Smith, Steve", 42, true, jerseys[name]])
values = ["Smith, Steve", 42, BOOL(true), jerseys[name]])


tbl = SQLite.query(db, "SELECT * from players")
tbl = SQLite.query(db, "SELECT * from players")


println(showall(tbl))
println(showall(tbl))

</lang>
</lang>
{{Output}}<pre>
{{Output}}<pre>
1×5 DataFrames.DataFrame
1×5 DataFrames.DataFrame
│ Row │ id │ name │ score │ active │ jerseynum │
│ Row │ id │ name │ score │ active │ jerseynum │
├─────┼────┼────────────────┼───────┼────────┼───────────┤
├─────┼────┼────────────────┼───────┼─────────┼───────────┤
│ 1 │ 1 │ "Jones, James" │ 9.0 │ "FALSE" │ 42 │
│ 1 │ 1 │ "Smith, Steve" │ 42 │ "TRUE" │ 42 │

</pre>
</pre>