2012-10-28 107 views
3

我安裝了SQLite3(解壓到c:/ sqlite),創建了一個數據庫(c:/sqlite/mzsales)。現在我試圖在QTableView中顯示它的內容。Qt:如何連接到SQLite?

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
db.setHostName("localhost"); 
db.setDatabaseName("mzsales"); 
bool db_ok = db.open(); 

db_ok爲true。然後

QSqlTableModel *model = new QSqlTableModel(0, db); 
model->setTable("person"); 
model->setEditStrategy(QSqlTableModel::OnManualSubmit); 
bool tbl_ok = model->select(); 

tbl_ok是錯誤的。

我該怎麼做?我如何連接到數據庫?謝謝!

+0

SQLite數據庫包含在一個文件中;它不是一個「服務器」。我不確定它是如何在Qt中完成的,但是你必須在某個地方指定一個完整的文件名。 –

+0

正確。但是如何? –

回答

8

得到了答案。這裏是:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
db.setDatabaseName("C:\\sqlite\\mzsales"); 
bool db_ok = db.open(); 

不需要連接,只需指定路徑,一切都完成了。