Problema con query e QSqlQuery prepare
-
ok, allora:
- ho messo così, me in output non dice nulla; quindi la query dovrebbe essere eseguita:
if (db->isOpened()) { QFile queryFile(":/get_listini_articolo.txt"); queryFile.open(QFile::ReadOnly | QFile::Text); QString strQuery = QTextStream(&queryFile).readAll(); strQuery.replace("\n", ""); QSqlQuery query; query.prepare(strQuery); query.bindValue(":articol", "C165-000"); //query.exec(); if(!query.exec()) Q_ASSERT(false); /*QMapIterator<QString, QVariant> i(query.boundValues()); while (i.hasNext()) { i.next(); qDebug() << i.key().toUtf8().data() << ": " << i.value().toString().toUtf8().data() << endl; } qDebug() << query.lastError().text();*/ int rows = 0; while (query.next()) { ui->tblArticoli->insertRow(ui->tblArticoli->rowCount()); for (int i = 0; i < header.size(); ++i) { ui->tblArticoli->setItem(rows, i, new QTableWidgetItem(query.value(header.at(i)).toString())); } rows++; } query.clear(); }
-
MA.CODINT è un VARCHAR; il db è ORACLE
-
se esguo la query su SQLDEVELOPER funziona correttamente; anzi, io le faccio sempre prima su SQLDEVELOPER in modo da scrivere query corrette ed evitare questi problemi; ed infatti è questo che mi lascia perplesso!