выполняю вот такой запрос
const QString queryStr = QString::fromLatin1("SELECT DISTINCT Date FROM
Calen WHERE Date ='%1'").arg(maindate.toString("yyyy-MM-dd"));
QSqlQuery mainquery(queryStr);
mainquery.exec();
Как узнать не пустой ли запрос получился в итоге? или как узнать количество строк в нем ?
Для этого существует метод QSqlQuery::next()
:
while (mainquery.next())
{
//Здесь получаете Ваши данные
}
Если в ответе нет записей, то цикл while
не выполнится ни разу, в противном случае он выполнится столько раз, сколько строк должно быть возвращено.
Кстати, у Вас в коде вопиющая ошибка, которая может привести к SQL-инъекции. Правильно привязывать параметры запроса нужно так:
QSqlQuery mainquery;
mainquery.prepare("SELECT DISTINCT Date FROM Calen WHERE Date=:date");
mainquery.bindValue(":date", maindate.toString("yyyy-MM-dd"));
if(mainquery.exec())
{
while (mainquery.next())
{
//Здесь получаете Ваши данные
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Проблема заключается в том что я не могу понять почему я получаю ошибку SIGSEGVЕсли я собираю в режиме Debug программа работает, все хорошо, все...
Что это обозначает и зачем оно вообще нужно? Может где то используется?
Поясните мне мою ошибку в данной функции на выделение памятиКак только доходит до строчки numb[i] = new char[50]; - сразу ошибка и в отладчике пишет...
Добрый день! У меня имеется статический метод listOfStudents() который открывает текстовый файл и считывает оттуда мои данные