3个版本

0.1.6 2019年12月23日
0.1.5 2019年12月23日
0.1.3 2019年12月22日

#2 in #rdbc


用于 rdbc-cli

Apache-2.0

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