QSqlRelation auf primary key
Verfasst: 6. Oktober 2008 11:47
Hi,
ich programmiere gerade ein Aktenverwaltungsprogramm mit Qt und MySQL. Bis jetzt ging alles relativ problemlos, nur komme ich mit folgendem problem nicht weiter:
Ich habe u.a. zwei Tabellen. In einer sind die Personen gespeichert, in der anderen die Aufgaben, die mit den Personen verknüpft sind.
Personen
======
id int(11) auto_increment
name varchar(255)
forename varchar(255)
DOB date
und noch ein paar irrelevante...
Aufgaben
======
id
patient_id
task
und noch ein paar irrelevante...
Mit 'patient_id' referenziere ich auf 'id' in der Tabelle Patienten.
Das Ziel ist, dass ich nach Aufgaben suchen kann (also sowas: SELECT .... WHERE `task` = `Brief%`)
und eine Liste der Aufgaben mit den zugehörigen Namen der Personen bekomme.
Zur Zeit verwende ich das QSqlRelationModel. Ich schaffe es auch, so eine Liste zu erzeugen. Das Problem ist nur, dass ich dafür folgenden Befehl brauche:
model->setTable("Personen");
model->setRelation(0, "Aufgaben", "patient_id", "task");
welcher wiederrum die id Spalte mit task ersetzt, was dazu führt, dass ich die Daten mangels id nicht weiterverarbeiten kann.
Gibt es eine Chance, dass ich das mit dem QSqlRelationModel lösen kann oder muss ich auf das QSqlQueryModel umsteigen?
Ich danke im Vorraus!
ich programmiere gerade ein Aktenverwaltungsprogramm mit Qt und MySQL. Bis jetzt ging alles relativ problemlos, nur komme ich mit folgendem problem nicht weiter:
Ich habe u.a. zwei Tabellen. In einer sind die Personen gespeichert, in der anderen die Aufgaben, die mit den Personen verknüpft sind.
Personen
======
id int(11) auto_increment
name varchar(255)
forename varchar(255)
DOB date
und noch ein paar irrelevante...
Aufgaben
======
id
patient_id
task
und noch ein paar irrelevante...
Mit 'patient_id' referenziere ich auf 'id' in der Tabelle Patienten.
Das Ziel ist, dass ich nach Aufgaben suchen kann (also sowas: SELECT .... WHERE `task` = `Brief%`)
und eine Liste der Aufgaben mit den zugehörigen Namen der Personen bekomme.
Zur Zeit verwende ich das QSqlRelationModel. Ich schaffe es auch, so eine Liste zu erzeugen. Das Problem ist nur, dass ich dafür folgenden Befehl brauche:
model->setTable("Personen");
model->setRelation(0, "Aufgaben", "patient_id", "task");
welcher wiederrum die id Spalte mit task ersetzt, was dazu führt, dass ich die Daten mangels id nicht weiterverarbeiten kann.
Gibt es eine Chance, dass ich das mit dem QSqlRelationModel lösen kann oder muss ich auf das QSqlQueryModel umsteigen?
Ich danke im Vorraus!