Seite 1 von 1

QSqlRelationalTableModel und setFilter

Verfasst: 18. April 2009 12:35
von petric
Hallo,

folgendes Problem:
Tabellen:
  • A: Index (int), Ref (int), weitere Felder
    B: RefID (int), Text (string), ...
Code:

Code: Alles auswählen

QSqlRelationalTableModel model;
model.setTable ("A");
model.setRelation (1, QSqlRelation ("Ref", "RefID", "B"));

model.setFilter ("Ref = 6");   // In der Datenbank gibt es eine passende Zeile

model.select ();
Es kommt aber nichts heraus, d.h. es wird keine Ausgabe erzeugt, wenn ich das an eine QTableView binde.
Lasse ich den Filter aber weg ist alles da.

Kann mir da jemand auf die Spruenge helfen ?

Eingesetzt wird QT 4.5. Datenbank ist MySQL 5.0.70 (Linux).

Verfasst: 18. April 2009 13:04
von franzf
Hast du auch schonmal versucht, mit dem Filter zu spielen?
Z.B. versucht:
* "Ref=6" // ohne die Leerzeichen um das "="
* "Ref='6'"
* "A.Ref=6"
usw?

Verfasst: 18. April 2009 14:07
von petric
Hallo,

danke fuer den Hinweis.

Es ist anscheinend bei QSqlRelationalTableModel und Spalten, die mit QSqlRelation verlinkt sind noetig, die Tabelle mitzugeben. Also

Code: Alles auswählen

model.setFilter ("A.Ref = 6");
dann tuts auch mit dem Model ...