mirror of
https://github.com/isar/rusqlite.git
synced 2024-11-23 09:09:19 +08:00
commit
03561e36fb
33
README.md
33
README.md
@ -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());
|
||||||
|
Loading…
Reference in New Issue
Block a user