我有一个QSqlDatabase:(我可以在MySQL Workbench中登录的密码和我使用的用户名,所以我认为他们是正确的)QSqlQueryModel不起作用
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("something");
db.setUserName("username");
db.setPassword("password");
QSqlDatabase::database().open();
它返回true,所以打开成功。但接下来的代码不起作用:
QSqlQueryModel* model = new QSqlQueryModel();
model->setQuery("select user_id, name, password, level from user where user_id = 'user' and password = 'password'");
现在model->rowCount
等于0(我不知道为什么)和
model->index(0, 0).data() == "username" &&
model->index(0, 2).data() == "password"
返回false。有人知道这里可能是什么问题吗?
你确定你的'user'表不是空的吗?你确定表中至少有一行'user_id'是*'user' *和'password'是*'password' *?尝试在MySQL Workbench中执行你的查询,看看它是否有结果。 。 。 – Mike