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