Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpDbCn 211 of 288 menu
◀ ▶

Соединение с базой в Rust

Работа с файлом начинается с соединения: программа указывает путь, а библиотека готовит канал для запросов. Если файла еще нет, он появится при первом открытии.

Создайте проект Cargo и из его корня выполните команду добавления зависимости:

cargo add rusqlite --features bundled

Флаг bundled включает сборку движка внутри крейта, отдельную установку на компьютер не требуют. Версию подберет сама команда.

Откроем файл app.db и разберем ответ через сопоставление:

use rusqlite::Connection; fn main() { match Connection::open("app.db") { Ok(_conn) => println!("open"), Err(e) => println!("{}", e), } }

При успехе на экране слово open. Файл лежит в рабочей папке запуска, обычно в корне проекта.

Длинную цепочку удобнее вынести в функцию с исходом сбоя библиотеки, а в точке входа только печатать текст ошибки:

use rusqlite::Connection; fn open_db() -> Result<(), rusqlite::Error> { let _conn = Connection::open("app.db")?; Ok(()) } fn main() { if let Err(e) = open_db() { println!("{}", e); } }

Откройте файл app.db и выведите ready только при успехе. При сбое напечатайте текст ошибки.

Запишите функцию, которая возвращает исход с типом сбоя крейта и открывает файл app.db. В main разберите исход и при успехе выведите ok.

Скажите, появится ли файл app.db на диске, если его еще не было, но открытие прошло успешно.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить