mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-26 11:31:37 +08:00
commit
03561e36fb
31
README.md
31
README.md
@ -13,44 +13,51 @@ an interface similar to [rust-postgres](https://github.com/sfackler/rust-postgre
|
||||
extern crate rusqlite;
|
||||
extern crate time;
|
||||
|
||||
use rusqlite::types::ToSql;
|
||||
use rusqlite::{Connection, NO_PARAMS};
|
||||
use time::Timespec;
|
||||
use rusqlite::Connection;
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Person {
|
||||
id: i32,
|
||||
name: String,
|
||||
time_created: Timespec,
|
||||
data: Option<Vec<u8>>
|
||||
data: Option<Vec<u8>>,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let conn = Connection::open_in_memory().unwrap();
|
||||
|
||||
conn.execute("CREATE TABLE person (
|
||||
conn.execute(
|
||||
"CREATE TABLE person (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
time_created TEXT NOT NULL,
|
||||
data BLOB
|
||||
)", &[]).unwrap();
|
||||
)",
|
||||
NO_PARAMS,
|
||||
).unwrap();
|
||||
let me = Person {
|
||||
id: 0,
|
||||
name: "Steven".to_string(),
|
||||
time_created: time::get_time(),
|
||||
data: None
|
||||
data: None,
|
||||
};
|
||||
conn.execute("INSERT INTO person (name, time_created, data)
|
||||
conn.execute(
|
||||
"INSERT INTO person (name, time_created, data)
|
||||
VALUES (?1, ?2, ?3)",
|
||||
&[&me.name, &me.time_created, &me.data]).unwrap();
|
||||
&[&me.name as &ToSql, &me.time_created, &me.data],
|
||||
).unwrap();
|
||||
|
||||
let mut stmt = conn.prepare("SELECT id, name, time_created, data FROM person").unwrap();
|
||||
let person_iter = stmt.query_map(&[], |row| {
|
||||
Person {
|
||||
let mut stmt = conn
|
||||
.prepare("SELECT id, name, time_created, data FROM person")
|
||||
.unwrap();
|
||||
let person_iter = stmt
|
||||
.query_map(NO_PARAMS, |row| Person {
|
||||
id: row.get(0),
|
||||
name: row.get(1),
|
||||
time_created: row.get(2),
|
||||
data: row.get(3)
|
||||
}
|
||||
data: row.get(3),
|
||||
}).unwrap();
|
||||
|
||||
for person in person_iter {
|
||||
|
Loading…
Reference in New Issue
Block a user