[gl-como] [OT] Programmazione Qt C++

Riccardo Penco (SCASI) r.penco@scasinet.com
Dom 20 Mar 2011 22:50:12 CET


ciao a tutti,

scusate lo spam ma mi risulta che qualcuno in lista utilizzi le Qt, ergo
provo a chiedere e magari avrò risposta.

La faccio molto breve. Il problema è la gestione dei campi foreign key
nelle schede legate a tabelle di database.

Utilizzando QSqlRelationalTableModel non mi risulta possibile editare
record per i quali c'è un campo foreign key NULL in quanto la query
generata in automatico per prelevare i dati utilizza un inner join (e
non un outer join) e pertanto nel caso del campo foreign key nullo non
pesca nessun record.

Esempio

tabella persone con campo idpersona, persona e idcomune,
idcomune fa riferimento alla tabella comuni (idcomune, comune).

se inserisco nella tabella persone un record lasciando il campo idcomune
nullo, quel record non potrò mai editarlo nella scheda:
viene generata una query del tipo:

select p.idpersona, p.persona, c.comune from persone p, comuni c where
p.idcomune=c.idcomune

e questa, se p.idcomune è null, non ritorna nulla.

Qualcuno ha avuto lo stesso problema e come lo ha risolto?

grazie e ciao
riki



Maggiori informazioni sulla lista gl-como