Делаю запрос, вроде всё правильно:
C++ (Qt)
query_pc.exec("SELECT pc_name, pc_group, pc_comment FROM pc WHERE pc_group = '" + gr_id + "'");
record_pc = query_pc.record();
query_pc.first();
while (query_pc.next())
{
Вот только он не реагирует на первую запись полученую (или её даже не получает?) из бд. Если ответ содержит две или более записей, то выводит все записи кроме первой, если есть только одна запись, то ответа никакого нету. lastError пустой, запрос вроде правильный (проверял в бд).
C++ (Qt)
QString gr_name, gr_id;
QSqlQuery query, query_pc;
QSqlRecord record, record_pc;
query.exec("SELECT group_id, group_name FROM groups ORDER BY group_name DESC");
record = query.record();
query.first();
while (query.next())
{
gr_name = query.value(record.indexOf("group_name")).toString();
gr_id = query.value(record.indexOf("group_id")).toString();
QTreeWidgetItem *item = new QTreeWidgetItem(FMain::trWd_tree);
item->insertChild(0,item);
item->setText(0, gr_name);
query_pc.exec("SELECT pc_name, pc_group, pc_comment FROM pc WHERE pc_group = '" + gr_id + "'");
record_pc = query_pc.record();
query_pc.first();
while (query_pc.next())
{
QString pcName = query_pc.value(record_pc.indexOf("pc_name")).toString();
QString pcComment = query_pc.value(record_pc.indexOf("pc_comment")).toString();
QTreeWidgetItem *subItem = new QTreeWidgetItem(item);
subItem->insertChild(0, item);
subItem->setText(0, pcName);
subItem->setText(1, pcComment);
}
}
Первый запрос выполняется без проблем, почему второй запрос не принимает первую запись?