Булева переменная всегда возвращает false - PullRequest
0 голосов
/ 21 августа 2011
bool Payment::checkUniqueIdentifier(const QString &invoice)
{
  qDebug() << "entering Payment: check if the invoice has an associated unique identifier or not for the invoice=" + invoice;
  QSqlQuery query(m_storageUserManager->database());
  query.prepare("SELECT invoice FROM " + m_invoiceInfoTable + "WHERE invoice=:invoice");
  query.bindValue(": invoice", invoice);
  query.exec();
  query.first();
  bool tmp;
  tmp = query.isValid();
  return tmp;
}

Привет, эта логическая переменная всегда возвращается как ложная. Скажите, в чем может быть проблема Я использовал эту функцию следующим образом

  if(payment->checkUniqueIdentifier("invoice1"))
    qDebug() << "It has a unique Identifier";
  else
    qDebug() << "It dont have a unique Identifier";

Спасибо С Уважением, Puneet

1 Ответ

6 голосов
/ 21 августа 2011

Там, где в запросе нет пробела. Имя таблицы и место, где были объединены, и это читает

SELECT invoice FROM m_invoiceInfoTableWHERE invoice=:invoice
...