3个版本
0.1.6 | 2019年12月23日 |
---|---|
0.1.5 | 2019年12月23日 |
0.1.3 | 2019年12月22日 |
#2 in #rdbc
用于 rdbc-cli
9KB
192 行
SQLite RDBC 驱动程序
此包实现了 rusqlite
包的 RDBC 驱动程序。
RDBC(Rust 数据库连接)API loosely 基于ODBC和JDBC标准。
use std::sync::Arc;
use rdbc::{self, Value};
use rdbc_sqlite::SqliteDriver;
let driver: Arc<dyn rdbc::Driver> = Arc::new(SqliteDriver::new());
let conn = driver.connect("").unwrap();
let mut conn = conn.borrow_mut();
let stmt = conn.prepare("CREATE TABLE test (a INT NOT NULL)").unwrap().borrow_mut().execute_update(&vec![]).unwrap();
let stmt = conn.prepare("INSERT INTO test (a) VALUES (?)").unwrap().borrow_mut().execute_update(&vec![rdbc::Value::Int32(123)]).unwrap();
let stmt = conn.prepare("SELECT a FROM test").unwrap();
let mut stmt = stmt.borrow_mut();
let rs = stmt.execute_query(&vec![]).unwrap();
assert!(rs.as_ref().borrow_mut().next());
assert_eq!(Some(123), rs.as_ref().borrow_mut().get_i32(0).unwrap());
依赖关系
~22MB
~417K SLoC