The package provides an interface to SQLite.
```rust let connection = sqlite::open(":memory:").unwrap();
connection.execute("
CREATE TABLE users
(id INTEGER, name VARCHAR(255));
INSERT INTO users
(id, name) VALUES (42, 'Alice');
").unwrap();
connection.process("SELECT * FROM users
", |pairs| {
for &(column, value) in pairs.iter() {
println!("{} = {}", column, value.unwrap());
}
true
}).unwrap();
```
The same example using prepared statements:
```rust use sqlite::State;
let connection = sqlite::open(":memory:").unwrap();
connection.execute("
CREATE TABLE users
(id INTEGER, name VARCHAR(255))
");
let mut statement = connection.prepare("
INSERT INTO users
(id, name) VALUES (?, ?)
").unwrap();
statement.bind(1, 42).unwrap();
statement.bind(2, "Alice").unwrap();
assert_eq!(statement.step().unwrap(), State::Done);
let mut statement = connection.prepare("SELECT * FROM users
").unwrap();
while let State::Row = statement.step().unwrap() {
println!("id = {}", statement.read::