From: Dmitry Kalyanov Date: Sun, 14 Nov 2010 14:30:56 +0000 (+0300) Subject: Add documentation for named parameters X-Git-Tag: 0.2~1 X-Git-Url: https://repo.or.cz/w/cl-sqlite.git/commitdiff_plain/3a07ac6d88f994ebbf1091f80cf3379b0787d4ee Add documentation for named parameters --- diff --git a/index.html b/index.html index 543ff0e..a09dc1d 100644 --- a/index.html +++ b/index.html @@ -59,9 +59,13 @@
  • connect
  • disconnect
  • execute-non-query +
  • execute-non-query/named
  • execute-one-row-m-v +
  • execute-one-row-m-v/named
  • execute-single +
  • execute-single/named
  • execute-to-list +
  • execute-to-list/named
  • finalize-statement
  • last-insert-rowid
  • prepare-statement @@ -108,7 +112,8 @@ (execute-non-query *db* "create table users (id integer primary key, user_name text not null, age integer null)") ;;Create the table (execute-non-query *db* "insert into users (user_name, age) values (?, ?)" "joe" 18) -(execute-non-query *db* "insert into users (user_name, age) values (?, ?)" "dvk" 22) +(execute-non-query/named *db* "insert into users (user_name, age) values (:user_name, :user_age)" + ":user_name" "dvk" ":user_age" 22) (execute-non-query *db* "insert into users (user_name, age) values (?, ?)" "qwe" 30) (execute-non-query *db* "insert into users (user_name, age) values (?, ?)" nil nil) ;; ERROR: constraint failed @@ -125,6 +130,12 @@ (collect (list id user-name age))) ;; => ((1 "joe" 18) (2 "dvk" 22)) +;; Use iterate with named parameters +(iter (for (id user-name age) in-sqlite-query/named "select id, user_name, age from users where age < :age" + on-database *db* with-parameters (":age" 25)) + (collect (list id user-name age))) +;; => ((1 "joe" 18) (2 "dvk" 22)) + ;; Use prepared statements directly (loop with statement = (prepare-statement *db* "select id, user_name, age from users where age < ?") @@ -134,6 +145,15 @@ finally (finalize-statement statement)) ;; => ((1 "joe" 18) (2 "dvk" 22)) +;; Use prepared statements with named parameters +(loop + with statement = (prepare-statement *db* "select id, user_name, age from users where age < :age") + initially (bind-parameter statement ":age" 25) + while (step-statement statement) + collect (list (statement-column-value statement 0) (statement-column-value statement 1) (statement-column-value statement 2)) + finally (finalize-statement statement)) +;; => ((1 "joe" 18) (2 "dvk" 22)) + (disconnect *db*) ;;Disconnect
     

    Usage

    @@ -147,10 +167,10 @@

    To make queries to the database the following functions are provided:

    Macro with-transaction is used to execute code within transaction.

    @@ -181,8 +201,8 @@ This clause will bind vars (a list of variables) to the values of the col


    [Function]
    bind-parameter statement parameter value


    -Sets the parameter-th parameter in statement to the value.
    -Parameters are numbered from one.
    +Sets the parameter in statement to the value.
    +parameter is an index (parameters are numbered from one) or the name of a parameter.
    Supported types: