0
bool QcgDatabase::onceindb(const QString& userId)
{
mDb->prepareSqlQuery("SELECT count(*) FROM mytable WHERE userid=:userId;", "database");
mDb->prepareBindValue(":userId", userId);
mDb->sqlExec();
bool d = mDb->sqlQuery().isActive();
QVariant c = mDb->sqlQuery().value(QString("count(*)"));
int e = c.toInt();
if (e == 1) {
return true;
}
else {
return false;
}
}
一个小功能。当我在SQL这样做的命令,结果看起来像这样
我只是想取值为2
以供比较,但在代码调试时,QVariant c
总是返回无效,因此e is always = 0
。我以为我的SQL命令没有激活,但是当我调试时,bool d
总是返回true。你们知道为什么吗?如何按预期收到2
?
'如果(C == 1 )'这应该是'if(e == 1)'? –
你应该检查错误... – hyde
@HonestAbe:是的,对不起,它应该是'电子== 1'。我已经改正了,你能帮我指出问题吗? – htmlamateur