我需要通过从 QSqlTableModel 对象中检索数据来填充 QTableView。我使用以下命令连接到 sql server 数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
QString connectionTemplate = "DRIVER={SQL Native Client};SERVER=%1;DATABASE=%2;Uid=username;Pwd=password;Trusted_Connection=Yes;";
QString connectionString = connectionTemplate.arg("localhost").arg("mydb");
db.setDatabaseName(connectionString);
我通过 QSqlDatabase 类的 isValid() 和 open() 方法验证数据库连接。我也能够正确地从数据库表中查询。ٍ到目前为止一切正常。但是当我使用以下命令时会出现问题:
QSqlTableModel* model = new QSqlTableModel(parent,db);
model->setTable("mytable");
qDebug() << model->lastError().text(); // the error message is printed on consul.
方法 setTable 不起作用并导致错误:无法找到表“mytable”。