PDA

View Full Version : [Java] Insert tupla da Java.


devAngnew
24-08-2007, 12:41
Ciao a tutti ho il seguente problema in java :
Ecco in postgres ho creato una tabella che automaticamente mi genera la chiave di ogni riga inserita (lato server).
Ora il problema è che non so come fare l'INSERT da java per poi ottenere la chave generata da postgresql (il DBMS usato).
In pratica vorrei qualcosa di simile a quello che succede con il tool pgadmin quando inserisco una riga e aggiornando ottengo anche il valore della chiave della riga inserita.

Spero di essermi spiegato.

Qualche suggerimento grazie 1000!!!!!!!

PGI-Bis
24-08-2007, 23:36
Premesso che non l'ho mai provato, c'è un metodo in Statement, getGeneratedKeys() che sembrerebbe fare al caso tuo.

Si potrebbe fare:

statement.execute quel che è;
ResultSet chiaviGenerate = statement.getGeneratedKeys();

Se funziona ne abbiamo imparata un'altra :D.

devAngnew
28-08-2007, 12:27
Ciao PGI-Bis il tuo suggerimento è OK peccato che i driver jdbc di postgresQL che sto usando mi danno come errore :


org.postgresql.util.PSQLException: La restituzione di chiavi autogenerate non è supportata. :muro:

Ora non avendo nella riga da me inserita nella tabella nessuna chiave alternativa
come ad esempio il codice fiscale non so come ritrovare questa riga inserita per ottenere la chiave.


Qualche suggerimento ? (non ditemi cambia DBMS ):help:

PGI-Bis
28-08-2007, 12:34
La prima cosa che farei è provare a cambiare il driver. Dovrebbe essercene uno di Apache che va anche con postgre ma non trovo il link... provo a frugare meglio.

PGI-Bis
28-08-2007, 12:45
No, non lo trovo. Forse ho preso un abbaglio.