выполняю вот такой запрос
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())
{
//Здесь получаете Ваши данные
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Проблема заключается в том что я не могу понять почему я получаю ошибку SIGSEGVЕсли я собираю в режиме Debug программа работает, все хорошо, все...
Что это обозначает и зачем оно вообще нужно? Может где то используется?
Поясните мне мою ошибку в данной функции на выделение памятиКак только доходит до строчки numb[i] = new char[50]; - сразу ошибка и в отладчике пишет...
Добрый день! У меня имеется статический метод listOfStudents() который открывает текстовый файл и считывает оттуда мои данные