Merge pull request #417 from vladh/patch-1

Update README example.
This commit is contained in:
gwenn 2018-10-24 18:09:07 +02:00 committed by GitHub
commit 03561e36fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,45 +13,52 @@ an interface similar to [rust-postgres](https://github.com/sfackler/rust-postgre
extern crate rusqlite; extern crate rusqlite;
extern crate time; extern crate time;
use rusqlite::types::ToSql;
use rusqlite::{Connection, NO_PARAMS};
use time::Timespec; use time::Timespec;
use rusqlite::Connection;
#[derive(Debug)] #[derive(Debug)]
struct Person { struct Person {
id: i32, id: i32,
name: String, name: String,
time_created: Timespec, time_created: Timespec,
data: Option<Vec<u8>> data: Option<Vec<u8>>,
} }
fn main() { fn main() {
let conn = Connection::open_in_memory().unwrap(); let conn = Connection::open_in_memory().unwrap();
conn.execute("CREATE TABLE person ( conn.execute(
"CREATE TABLE person (
id INTEGER PRIMARY KEY, id INTEGER PRIMARY KEY,
name TEXT NOT NULL, name TEXT NOT NULL,
time_created TEXT NOT NULL, time_created TEXT NOT NULL,
data BLOB data BLOB
)", &[]).unwrap(); )",
NO_PARAMS,
).unwrap();
let me = Person { let me = Person {
id: 0, id: 0,
name: "Steven".to_string(), name: "Steven".to_string(),
time_created: time::get_time(), 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)", 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 mut stmt = conn
let person_iter = stmt.query_map(&[], |row| { .prepare("SELECT id, name, time_created, data FROM person")
Person { .unwrap();
let person_iter = stmt
.query_map(NO_PARAMS, |row| Person {
id: row.get(0), id: row.get(0),
name: row.get(1), name: row.get(1),
time_created: row.get(2), time_created: row.get(2),
data: row.get(3) data: row.get(3),
} }).unwrap();
}).unwrap();
for person in person_iter { for person in person_iter {
println!("Found person {:?}", person.unwrap()); println!("Found person {:?}", person.unwrap());