[当我从“ testtable”表中查看我的mysql数据库“ mydb”中的数据时,它无法打开数据库。
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`;");
我怎么了?当我删除它时,我的程序正常工作(不查看数据)当我可以打开它时,如何将数据放入表中? ?
首先,您需要使用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
您需要使用数据库名称调用替代方法。因为您尝试打开的数据库不是默认数据库。
尝试一下:
model->setQuery("SELECT `testtable`.`id`,`testtable`.`Nachname`,`testtable`.`Vorname`,`testtable`.`Ort
`FROM `mydb`.`testtable`;","mydb");