0
내가이QVariant가 무효가 그 사이에 값이 나는 SQL에서이 명령을 수행 할 때
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;
}
}
같은 작은 기능이 유효 반환, 결과는 그냥 원하는이
처럼 보인다 아래의 비교를 위해 2
값을 취해야합니다. 그러나 디버그 할 때 코드에서 QVariant c
은 항상 유효하지 않으므로 e is always = 0
을 반환합니다. 내 SQL 명령이 활성화되어 있지 않다고 생각했지만 디버그 할 때 bool d
은 항상 true를 반환합니다. 너희들 왜 그 이유를 알고 있니? 예상대로 2
을 어떻게받을 수 있습니까?
'(C == 1의 경우)'이'if (e == 1)'라고되어 있나? –
아마도 오류를 확인해야합니다 ... – hyde
@HonestAbe : 예, 죄송합니다. 'e == 1'이어야합니다. 나는 이미 그것을 바로 잡는다, 당신이 문제를 지적하도록 도와 줄 수 있습니까? – htmlamateur