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