wires

summary refs log tree commit diff
path: root/src/main.rs
blob: 279e701f407ab65dec9cbe39ea911587c6e4ce8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use wyrd_sqlite::Connection;

fn main() -> anyhow::Result<()> {
    let conn = Connection::open("")?;

    conn.execute(
        "CREATE TABLE pairs (
            a INTEGER PRIMARY KEY,
            b INTEGER
        )",
        (),
    )?;

    let (mut insert, _) = conn.prepare("INSERT INTO pairs (a, b) VALUES (?, ?)")?;

    insert.execute((23, ()))?;
    insert.execute((3, 33))?;
    insert.execute(((), 5))?;

    let (mut stmt, _) = conn.prepare("SELECT * FROM pairs")?;
    let mut query = stmt.query(())?;

    while let Some(mut row) = query.try_next_row()? {
        let a: i32 = { row.get(0)? };
        let b: Option<i32> = { row.get(1)? };

        println!("{a}, {b:?}");
    }

    Ok(())
}