summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJamesP <jlp765@gmail.com>2015-09-06 22:34:04 +1000
committerJamesP <jlp765@gmail.com>2015-09-06 22:34:04 +1000
commit81e41dc795f489fd77c94e2b31d37270476a19aa (patch)
treecccef7e558a59e5584a9950165f27a977bf581fe
parentd7996a9edef4d8c51466495696bd2c0a3a2c03be (diff)
downloadNim-81e41dc795f489fd77c94e2b31d37270476a19aa.tar.gz
Add example (similar to db_mysql) with changes to table definition
and transaction to match sqlite SQL syntax
-rw-r--r--lib/impure/db_sqlite.nim30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/impure/db_sqlite.nim b/lib/impure/db_sqlite.nim
index 66276e9a4..b3b62109c 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