首先,您应该使用addDatabase添加数据库连接,驱动程序类型为QSQLITE,连接名称类似MyConnection.
QSqlDatabase db = QSqlDatabase::addDatabase( "QSQLITE","MyConnection" );
Run Code Online (Sandbox Code Playgroud)
接下来,您应该设置连接的数据库名称并将其打开.
db.setDatabaseName( "myfile.sqlite" );
if( !db.open() )
{
QMessageBox::warning(this, tr("Failed to connect!"), tr("Error connecting to database: ")+db.lastError().driverText() );
}
Run Code Online (Sandbox Code Playgroud)
在您的开发文件夹中,您将找到\ android\assets - 只需将SQLite数据库文件放入该文件夹并将其添加到.pro中:
deployment.files += myfile.sqlite
deployment.path = /assets
INSTALLS += deployment
Run Code Online (Sandbox Code Playgroud)
但是资产中的文件是只读的.所以你应该先将它复制到其他位置:
QFile dfile("assets:/myfile.sqlite");
if (dfile.exists())
{
dfile.copy("./myfile.sqlite");
QFile::setPermissions("./myfile.sqlite",QFile::WriteOwner | QFile::ReadOwner);
}
Run Code Online (Sandbox Code Playgroud)
现在您可以连接到您的数据库,如上所述.