Всем привет. Не хочет возвращать значения QSqlQuery, не могу понять в чем дело.
В общем все просто.
Есть код:
base = QSqlDatabase::addDatabase("QODBC");
QSettings sets("FlowModel","Settings");
currentBase = sets.value("currentBase").toString();
base.setHostName("localhost");
base.setDatabaseName(QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=%1").arg(currentBase));
if(base.open())
QMessageBox::information(0,"Все отлично!","База данных открыта","Ок");
else
QMessageBox::information(0,"Все не ахти!",base.lastError().text(),"Ок");
QSqlQuery queryMaterials("SELECT * FROM Материал",base);
int fieldNo = queryMaterials.record().indexOf("Название");
int i = 0;
while (queryMaterials.next()) {
comboBox->insertItem(i++,queryMaterials.value(fieldNo).toString());
}
queryMaterials.clear();
И он работает абсолютно нормально, комбо-бокс получает все названия материалов.
В след за ним идет тестовый код:
QSqlQuery queryInfo("SELECT * FROM Свойства_материала WHERE Название='Вода'",base);
fieldNo = queryInfo.record().indexOf("P");
pLine->setText(queryInfo.value(fieldNo).toString());
И вот он уже возвращает пустую строку "", то есть нефига не возвращает. Хотя запрос верный - я проверил его в СУБД и там он выдал корректные результаты (просто число, в данном случае плотность материала).
Всем заранее спасибо!