2011-02-02 222 views
0

我有一個簡單的應用程序,我正在爲我的清單加載一個列表。我這樣做是爲了學習一點關於Qt的知識,因爲它看起來非常整齊。無法打開sqlite數據庫

我有幾個窗口和一個數據庫,所有這些窗口從中提取數據。我得到8個編譯錯誤時,以下內置的例子(儘管他們都對內存數據庫)

錯誤是

undefined reference to `_imp__ZN12QSqlDatabase17defaultConnectionE' 
    undefined reference to `_imp__ZN12QSqlDatabase11addDatabaseERK7QStringS2_' 
    undefined reference to `_imp__ZN12QSqlDatabaseD1Ev' 
    undefined reference to `_imp__ZN12QSqlDatabase15setDatbaseNameERK7QString' 
    undefined reference to `_imp__ZN12QSqlDatabase4openEv' 
    undefined reference to `_imp__ZN12QSqlDatabaseD1Ev' 
    undefined reference to `_imp__ZN12QSqlDatabaseD1Ev' 

    collect2: Id returned 1 exit status 

這裏是我的連接頭

connection.h

#ifndef CONNECTION_H 
#define CONNECTION_H 

#include <QtSql/QSqlDatabase> 

static bool createConnection() 
{ 
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
    db.setDatabaseName("C:\\Inventory.db"); 
    if (db.open()) { 
     return true; 
    } 
    return false; 
} 

#endif // CONNECTION_H 

我用connection.h做的唯一的事情是導入到mainwindow.cpp

我還沒有找到任何現實世界的例子(不是示例,教程我的意思)的SQLite使用(我沒有看到如何在內存中的sqlite數據庫是很多人的幫助[雖然我非常新手])

謝謝你的任何幫助,所以

這些被導入到mainwindow.cpp

#include "mainwindow.h" 
#include "ui_mainwindow.h" 

#include <QtGui> 
#include <QtSql/QSqlDatabase> 
#include <QtSql/QSqlTableModel> 

#include "connection.h" 
+0

您確定您已將所有正確的導入庫添加到您的項目中嗎? – 2011-02-02 05:33:25

+0

我不確定你的意思是沒有找到真實的SQLite使用示例 - 就像他們在主頁上說的那樣,它是[部署最廣泛的SQL數據庫引擎](http://www.sqlite.org/mostdeployed的.html)。當然,它們可能比內存中的更普遍,但它們仍然是真正的使用。 – Cascabel 2011-02-02 05:43:26

回答

1

下列文件添加到您的* .pro文件:

QT += sql 

並做一個qmake和構建。