2012-02-13 87 views
2

我有一個應用程序處理用戶編輯的多個數據庫,我也希望它從指定的路徑打開它們(如我得到的路徑使用QFileDialog)。Qt和數據庫保存並打開它們

此外,我看到它保存的數據庫文件的可執行文件是,但有沒有辦法,我可以把它們保存在另一個地方?

回答

2

如果你正在使用sqlite,那麼你只需要傳遞給db.setDatabaseName(file_name)(其中db是連接)文件的路徑,你可以使用QFileDialog進行選擇。

如果您正在使用其他數據庫,那麼您可能只需連接到數據庫服務器。

+0

非常感謝你!你拯救了我的一天,我只是不會想象它那麼容易 – Andrew 2012-02-13 13:06:47

1

首先,您正在使用哪個數據庫; MySQL,SQLite。如果你正在使用SQLite,這非常簡單。您在添加數據庫時指定一個文件名。例如:

//get the database file with QFileDialog 
QString fileName = QFileDialog::getOpenFileName(this, 
tr("Open Database"), "/home/yourhome", tr("SQLite Database Files (*.sqlite)")); 

//add the new database 
QSqlDatabase db = QSqlDatabase::addDatabase("SQLITE"); 
db.setHostName("localhost"); 
db.setDatabaseName(fileName); 
//now your database will be stored in fileName 
相關問題