From 81e41dc795f489fd77c94e2b31d37270476a19aa Mon Sep 17 00:00:00 2001 From: JamesP Date: Sun, 6 Sep 2015 22:34:04 +1000 Subject: [PATCH] Add example (similar to db_mysql) with changes to table definition and transaction to match sqlite SQL syntax --- lib/impure/db_sqlite.nim | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/impure/db_sqlite.nim b/lib/impure/db_sqlite.nim index 66276e9a45..b3b62109cf 100644 --- a/lib/impure/db_sqlite.nim +++ b/lib/impure/db_sqlite.nim @@ -9,6 +9,36 @@ ## A higher level `SQLite`:idx: database wrapper. This interface ## is implemented for other databases too. +## +## Example: +## +## .. code-block:: nim +## +## import db_sqlite, math +## +## let theDb = open("mytest.db", nil, nil, nil) +## +## theDb.exec(sql"Drop table if exists myTestTbl") +## theDb.exec(sql("""create table myTestTbl ( +## Id INTEGER PRIMARY KEY, +## Name VARCHAR(50) NOT NULL, +## i INT(11), +## f DECIMAL(18,10))""")) +## +## theDb.exec(sql"BEGIN") +## for i in 1..1000: +## theDb.exec(sql"INSERT INTO myTestTbl (name,i,f) VALUES (?,?,?)", +## "Item#" & $i, i, sqrt(i.float)) +## theDb.exec(sql"COMMIT") +## +## for x in theDb.fastRows(sql"select * from myTestTbl"): +## echo x +## +## let id = theDb.tryInsertId(sql"INSERT INTO myTestTbl (name,i,f) VALUES (?,?,?)", +## "Item#1001", 1001, sqrt(1001.0)) +## echo "Inserted item: ", theDb.getValue(sql"SELECT name FROM myTestTbl WHERE id=?", id) +## +## theDb.close() import strutils, sqlite3