当我将从我的mysql数据库中查看数据时#34; mydb" ,从表格" testtable",它无法打开数据库。
this->model = new QSqlQueryModel();
meineView->setModel(model);
我必须这样写:
model->setQuery("SELECT id, Nachname, Vorname, Ort FROM mydb");
还是这样? :
model->setQuery("SELECT `testtable`.`id`,`testtable`.`Nachname`,`testtable`.`Vorname`,`testtable`.`Ort`FROM `mydb`.`testtable`;");
我错了什么?当我删除它,我的程序工作(没有查看数据) 当我可以打开它时,我如何将数据放入我的表格中? ?
答案 0 :(得分:0)
首先,您需要使用QSqlDatabase
类连接到数据库。然后,您可以使用正确的SQL查询将QSqlQueryModel
连接到sql连接。
您的第一个查询错误,因为mydb
是数据库,此查询需要表名:
SELECT id, Nachname, Vorname, Ort FROM testtable
。
第二个查询是在查询引用多个表时选择的选项。
SELECT testable.id, testable.name, othertable.data FROM testable, othertable, WHERE testable.someRow = othertable.someRow
答案 1 :(得分:0)
您需要使用数据库名称调用覆盖方法。因为您尝试打开的数据库不是默认数据库。
尝试一下:
model->setQuery("SELECT `testtable`.`id`,`testtable`.`Nachname`,`testtable`.`Vorname`,`testtable`.`Ort
`FROM `mydb`.`testtable`;","mydb");