Class virtual Dbi.statement


class virtual statement : connection -> object .. end

method virtual execute : sql_t list -> unit
Execute the statement with the given list of arguments substituted for ? placeholders in the query string. This method should be executed before trying to fetch data.

This command can throw a variety of SQL-specific exceptions.

method virtual fetch1 : unit -> sql_t list
Fetches one row from the result set and returns it.
Raises
method fetch1int : unit -> int
This fetches a single integer field.
Raises
method fetch1string : unit -> string
This fetches a single string field.
Raises
method fetch1bool : unit -> bool
This fetches a single string field.
Raises
method fetchall : unit -> sql_t list list
This returns a list of all tuples returned from the query. Note that this may be less efficient than reading them one at a time.
Raises Failure if #execute has not been issued before.
method iter : (sql_t list -> unit) -> unit
Iterate over the result tuples.
Raises Failure if #execute has not been issued before.
method map : 'a. (sql_t list -> 'a) -> 'a list
Map over the result tuples.
Raises Failure if #execute has not been issued before.
method fold_left : 'b. ('b -> sql_t list -> 'b) -> 'b -> 'b
Fold left over the result tuples.
Raises Failure if #execute has not been issued before.
method fold_right : 'c. (sql_t list -> 'c -> 'c) -> 'c -> 'c
Fold right over the result tuples. Not tail-recursive.
Raises Failure if #execute has not been issued before.
method virtual names : string list
Returns the names of the columns of the result.
Raises Failure if #execute has not been issued before.
method fetch1hash : unit -> (string * sql_t) list
Fetches a row and return it as an association list of pairs (column name, value).
Raises Not_found if there are no more rows to fetch.
method virtual serial : string -> int
If the statement is an INSERT and has been executed, then some databases support retrieving the serial number of the INSERT statement (assuming there is a SERIAL column or SEQUENCE attached to the table). The string parameter is the sequence name, which is only required by some database types. See the specific documentation for your database for more information.
Raises
method finish : unit -> unit
"Finishes" the statement. This basically just frees up any memory associated with the statement (this memory would be freed up by the GC later anyway). After calling #finish you may call #execute to begin executing another query.
method connection : connection
Return the database handle associated with this statement handle.