View Single Post
Old 28-09-2009, 20:39   #7
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Rieccomi di nuovo!

Sono riuscito a gestire la situazione dei cambiamenti fatti nelle righe delle tabelle scrivendo in un array tutte le modifiche che ho fatto e in quali tabelle. E' un array di String in cui inserisco, per ogni elemento:

"<tipo operazione> <tabella> <indice di riga> <ID di riga nel DB>"

dove <tipo operazione> può essere Add,Upd o Del.

Ora sorge un problema. L'utente quando inserisce una riga tramite il tasto Inserisci, in realtà inserisce una riga vuota che lui poi deve popolare. Supponiamo che inserisca la prima riga nella tabella 0 (ometto l'ID di riga del DB). In quel caso il TableModelListener associato alla tabella intercetta tale cambiamento e aggiunge nell'array la stringa "Add 0 0 ID"; ora l'utente vorrà popolare la riga appena aggiunta e quando finisce di popolarla viene intercettato il cambiamento e viene aggiunta la stringa "Upd 0 0 ID".

In questo modo nasce il problema che quando vado a salvare i cambiamenti fatti, nel DB inserisce prima la riga vuota e poi aggiorna la riga stessa (facendo 2 query invece che magari 1 sola). Come posso risolvere questo inconveniente?

Spero di essere stato chiaro.
__________________
Intel Core 2 Duo Q6600 G0, 4GB DDR2-800 A-Data, ABIT AB9, XFX GeForce 8800 GTS 320MB, Sound Blaster X-Fi Extreme Music, Seagate 320GB SATA2, Maxtor 80GB ATA-133, Western Digital 1TB SATA2

Ho concluso affari positivamente con: scandalf, Sinclair63, mstella, checcodag, wilson
Manugal è offline   Rispondi citando il messaggio o parte di esso