我有一个应用程序可以处理用户编辑的多个数据库,我还希望它从指定的路径打开它们(就像我使用 QFileDialog 获取路径一样)。
我还看到它将数据库文件保存在可执行文件所在的位置,但有没有办法可以将它们保存在另一个地方?
如果您正在使用 sqlite,那么您只需将文件的路径传递给 db.setDatabaseName(file_name)(其中 db 是连接),您可以使用 QFileDialog 选择该路径。
如果您正在使用其他数据库,那么您可能只是连接到数据库服务器。
首先,您正在使用哪个数据库;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