Qt SQLite 範例:輕鬆上手資料庫操作
哈囉!想在Qt應用程式中使用SQLite資料庫嗎?這絕對是個好主意!SQLite輕巧、快速,而且不需要獨立的伺服器,非常適合小型或嵌入式應用程式。今天我們就來看看如何用Qt連接SQLite,並進行簡單的資料操作。先別擔心,這真的比你想像的簡單!
立即探索更多!連接 SQLite 資料庫
首先,你需要包含 Qt 的 SQLite 模組。在你的 .pro 檔案中加入 QT += sql 這行。接著,在程式碼中建立一個 QSqlDatabase 物件,並設定資料庫的連接資訊。記得要指定資料庫檔案的位置,例如:"my_database.db"。
連接的程式碼大概長這樣:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("my_database.db");
if (db.open()) {
qDebug() << "資料庫連接成功!";
} else {
qDebug() << "資料庫連接失敗:" << db.lastError().text();
}
一定要檢查 db.open() 的返回值,確保連接成功了喔!如果失敗,要顯示錯誤訊息,方便你Debug。
點我解鎖秘密!
執行 SQL 查詢
連接成功後,就可以執行 SQL 查詢了。Qt 提供 QSqlQuery 類別來執行 SQL 語法。你可以使用 QSqlQuery::exec() 方法執行查詢,例如建立表格、插入資料、查詢資料等等。
下面是一個簡單的範例,建立一個 "users" 表格:
QSqlQuery query;
query.exec("CREATE TABLE IF NOT EXISTS users ("
"id INTEGER PRIMARY KEY AUTOINCREMENT,"
"name TEXT,"
"email TEXT)");
插入資料也很簡單:
query.prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
query.bindValue(":name", "John Doe");
query.bindValue(":email", "[email protected]");
query.exec();
使用 QSqlQuery::prepare() 可以避免 SQL Injection 攻擊,非常重要!
現在就去看看!
資料處理與顯示
執行查詢後,你可以使用 QSqlQuery::next() 方法逐行讀取資料。使用 QSqlQuery::value() 方法取得每一欄的值。
例如,要讀取 "users" 表格的所有資料:
QSqlQuery query;
query.exec("SELECT * FROM users");
while (query.next()) {
int id = query.value(0).toInt();
QString name = query.value(1).toString();
QString email = query.value(2).toString();
qDebug() << "ID:" << id << ", Name:" << name << ", Email:" << email;
}
你可以將讀取的資料顯示在 GUI 介面上的表格、列表或其他元件中。記得要處理錯誤,例如資料類型轉換失敗等等。
讓我帶你探索!
總結
使用 Qt 操作 SQLite 資料庫其實非常簡單。只需要幾個步驟:連接資料庫、執行 SQL 查詢、處理資料。希望這個範例能幫助你快速上手!記住,善用 Qt 提供的 API 和錯誤處理機制,可以讓你的應用程式更加穩定可靠。
還有問題嗎?別忘了多加練習,並且參考 Qt 的官方文件。祝你編碼愉快!