我尝试了如下语句:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("D:\\record.db");
if(!db.open())
QMessageBox::critical(this,tr("error"),tr("Cannot open database\nSettings will not be saved."),QMessageBox::Ok);
else
{
QSqlQuery query;
QSqlQueryModel *queryModel;
queryModel = new QSqlQueryModel(this);
query.exec("create table watch_directory(directory varchar primary key,status varchar)");
queryModel->setQuery("insert into watch_directory values('%1','%2')").arg(directory).arg(status);
}
结果打开时没报错,但是也没看到D盘下生成了record.db文件。莫非是setDatabaseName()中的内容写的不对?