From 92e4cfc123a1d26265128634850a2b73bac761c2 Mon Sep 17 00:00:00 2001 From: wires Date: Fri, 24 Oct 2025 11:29:46 -0400 Subject: first draft of sqlite wrapper --- src/main.rs | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 5b2e5a6..279e701 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,31 @@ -fn main() { - println!("hello, world!"); +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 = { row.get(1)? }; + + println!("{a}, {b:?}"); + } + + Ok(()) } -- cgit 1.4.1