2017-04-24 13 views
0

クエリを開発中で、次の値を選択しますincidencias.idusuario, incidencias.fecha, usuarios.nombre, usuarios.curso, usuarios.grupo, padres.nombreQtでダブルインナージョインでクエリが機能しない

フィールドpadres.nombreincidencias.fechaは、使用するテーブルと異なるテーブルにあるため、次のクエリを作成しました。

クエリはすべてがそれが必要として働いているが、それを印刷する場合、最後の値、padres.nombreは私に次のエラーを与えている

QSqlQuery query; 
query.prepare("SELECT incidencias.idusuario, incidencias.fecha, usuarios.nombre, usuarios.curso, usuarios.grupo, " 
"padres.nombre FROM usuarios INNER JOIN incidencias ON incidencias.idusuario = usuarios.id " 
"INNER JOIN padres ON padres.email = usuarios.idmail " 
"WHERE incidencias.fecha >= :fechainicio AND incidencias.fecha <= :fechafinal"); 
QDate fechadesde = ui->dateEdit->date(); 
QDate fechahasta = ui->dateEdit_2->date(); 
int fechadesdeST = fechadesde.toJulianDay(); 
int fechahastaST = fechahasta.toJulianDay(); 
query.bindValue(":fechainicio", fechadesdeST); 
query.bindValue(":fechafinal", fechahastaST); 
query.exec(); 

です:

QMYSQLResult::data: column 6 out of range 

私はカウントを印刷しかし、 6

+0

カラム数は6とレポートされます。 0〜5ではなく、1〜6としてアクセスしようとしていますか? – TheDarkKnight

+1

確かに、それは問題だった@TheDarkKnightなぜあなたは答えとしてそれを投稿していないので、私は解決してマークすることができますか? –

答えて

1

SQLは、1から始まるインデックスを期待していますが、コード配列は通常はfにアクセスします。f ROM 0からx。

したがって、値6は返された6項目の範囲外です。インデックス0-5を使用して返されたデータにアクセスします。

関連する問題