SQLite

Robert Carr

API Reference

The sqlite module allows for manipulation and querying of sqlite databases.

sqlite = imports.sqlite;
      

The SQLite module provides a selection of status enums, to be used as the return values of functions. For meanings, consult the SQLite C documentation.
sqlite.[OK, ERROR, INTERNAL, PERM ABORT, BUSY,
        LOCKED, NOMEM, READONLY, INTERRUPT, CORRUPT,
        NOTFOUND, FULL, CANTOPEN, PROTOCOL, EMPTY,
        SCHEMA, TOOBIG, CONSTRAINT, MISMATCH, MISUSE,
        NOLFS, AUTH, FORMAT, RANGE, NOTADB, ROW, DONE]
    

new sqlite.Database(filename)

Constructs a new sqlite.Database

filename

undefined

Returns

A new sqlite.Database object, the status property will be one of the SQLite status enums


database.exec(command, callback)

Executes the SQLite command on the given database. If callback is defined, it is called with each table entry from the given command, with a single argument. The argument has properties for each value in the returned table entry.

Keep in mind that, just like in C, it is necessary to sanitize user input in your SQL before passing it to the database.

command

undefined

callback

undefined

Returns

An SQLite status enum representing the result of the operation


database.close()

Closes an SQLite database and syncs

Examples

Below are several examples of using the Seed sqlite module. For additional resources, consult the examples/ folder of the Seed source

Example 15. 

This demonstrates creating a new table, populating it, and querying it for results

sqlite = imports.sqlite;
var db = new sqlite.Database("people.db");
db.exec("create table people (key INTEGER PRIMARY KEY, name TEXT," +
                             "age INTEGER, phone TEXT);");
db.exec("insert into people(name, age, phone) " + 
        "values('John Smith', 24, '555-123-4567');");

function cb_print_phone(results) {
    print(results.phone);
}

db.exec("select * from people where name='John Smith';", cb_print_phone);
db.close();