2

我有一个应用程序可以处理用户编辑的多个数据库,我还希望它从指定的路径打开它们(就像我使用 QFileDialog 获取路径一样)。

我还看到它将数据库文件保存在可执行文件所在的位置,但有没有办法可以将它们保存在另一个地方?

4

2 回答 2

2

如果您正在使用 sqlite,那么您只需将文件的路径传递给 db.setDatabaseName(file_name)(其中 db 是连接),您可以使用 QFileDialog 选择该路径。

如果您正在使用其他数据库,那么您可能只是连接到数据库服务器。

于 2012-02-13T11:19:57.757 回答
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
于 2012-02-13T12:42:23.733 回答