我正在尝试在 qt c++ 中访问 mysql 数据库。
我有不同的表,想将它们输出到QTableView
.
我使用QSqlTableModel
,效果很好,但是一旦我想过滤结果,我就会遇到问题..
这是我的源代码的主要部分:
mModelContacts->setTable("contacts");
mModelContacts->select();
mUi->tableContacts->setModel(mModelContacts);
void MainWindow::on_submitContactsButton_clicked()
{
switch(mUi->comboBoxContacts->currentIndex())
{
case 0:
mModelContacts->setFilter("contacts_id = "+mUi->searchContactsLine->text());
break;
case 1:
mModelContacts->setFilter("contacts_firstName LIKE "+'%'+mUi->searchContactsLine->text()+'%');
break;
case 2:
mModelContacts->setFilter("contacts_lastName LIKE "+'%'+mUi->searchContactsLine->text()+'%');
break;
case 3:
mModelContacts->setFilter("contacts_city LIKE "+'%'+mUi->searchContactsLine->text()+'%');
break;
case 4:
mModelContacts->setFilter("contacts_phoneNumber LIKE "+'%'+mUi->searchContactsLine->text()+'%');
break;
}
mModelContacts->select();
mUi->tableContacts->setModel(mModelContacts);
}
ID 过滤器(案例 0)工作正常。但其他所有内容(名字、姓氏等)都没有。我只是得到一张空桌子。所以我可以看到列名(因此我认为我的 sql 语法是正确的)但是无论我输入什么都没有条目。
我的源代码有错误吗?或者我怎样才能让它工作?