QMake バージョン 3.0
Qt バージョン 5.0.2
使用時
QSqlQuery query(QString("SELECT device_text_id FROM device"));
qDebug() << query.exec();
query.exec() で false になり、クエリオブジェクトに結果が返されませんが、使用すると
QSqlQuery query;
query.prepare("SELECT device_text_id FROM device");
qDebug() << query.exec();
私は真で正しいデータが返されます。
QSqlQueryのドキュメントでは、上記の両方のケースで使用されるコンストラクターがあります。
QSqlQuery(const QString & query = QString(), QSqlDatabase db = QSqlDatabase())
詳細については、postgres (v9.1) ログを確認しました。最初に提示された方法でクエリが実行されるたびに、このエラーが発生します。
CET ERROR: syntax error at end of input at character 9
CET STATEMENT: EXECUTE
何か不足していますか?最初のアプローチが機能しないのはなぜですか?