我有小部件,其連接到數據庫:的SQLite數據庫刪除錯誤
Widget::Widget(QWidget *parent)
{
QString databaseName = "name";
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(databaseName);
db.setHostName("localhost");
if(!db.open())
qDebug()<<"ret error";
}
現在我想刪除數據庫連接後插件關閉(目前我得到這樣的警告:QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection is still in use...
)。我已經閱讀了一些主題,並嘗試從他們那裏評估一些解決方案,但沒有一個適合我。我的代碼:
void Widget::closeEvent(QCloseEvent *e)
{
QSqlDatabase db = QSqlDatabase::database();
QString connection = db.connectionName();
db.close();
QSqlDatabase::removeDatabase(connection);
qDebug()<<"error: "<<db.lastError().text();
}
錯誤我得到的是:Driver not loaded Driver not loaded
什麼是做這種正確的方法是什麼?
編輯:
另一種方法:
void Widget::someMethod()
{
QSqlDatabase db = QSqlDatabase::database();
QSqlQuery query(db);
query.exec("some query");
}
你有你的sqlite庫安裝在你的系統中? – ScarCode 2012-07-19 09:39:33
是的,我可以添加數據的一切工作。調用查詢並在表格視圖中查看它。唯一的問題是關閉。錯誤在closeEvent()中返回。 – krzych 2012-07-19 10:20:05