LINEA CODICE FINO AL PROGRAMMA

Programmazione in Java

Abbiamo diversi modi per fare Un inserimento contro un database utilizzando JDBC. Ma il più semplice tutto è quello di eseguire un’istruzione Inserisci SQL.

Ecco perché la prima cosa che vedremo è la struttura di tale giudizio:

INSERT INTO tabla (campo1, campo2,... campoN) VALUES (valor1, valor2,... valorN)

Dove campo (i) sono i nomi delle colonne nella tabella in cui vogliamo inserire valori. Se vogliamo compilare tutti i dati delle colonne, non è necessario inserire questi campi. I valori saranno, in ordine rigoroso, quelli corrispondenti alle colonne della tabella.

Nell’esempio useremo la tabella del libro. Che passiamo per i dettagli un po ‘di più:

LIBROS isbn: char(13) idAutor: int(10) categoría: varchar(45) titulo: varchar(50) descripción: text

Vediamo i passaggi che dovrebbero essere forniti per eseguire l’inserimento tramite una connessione JDBC.

La prima cosa è effettuare la connessione sul database. Per questo è necessario conoscere l’URL e i driver del database. Nel nostro caso, ci sosteniamo su MySQL, sarebbe qualcosa come quello che segue:

Con i driver e l’URL dovremo semplicemente ottenere la connessione (connessione di classe) tramite utente e password.

Connection con = null;Class.forName(sDriver).newInstance(); con = DriverManager.getConnection(sURL,"root","password");

Una volta ottenuta la connessione, prepareremo l’istruzione Inserisci utilizzando un preparato

stmt = con.prepareStatement("INSERT INTO libros VALUES (?,?,?,?,?)");

Una cosa molto importante è che durante il montaggio dell’istruzione Inserisci non definiremo i valori della dichiarazione. Invece, mettiamo gli interrogatori (?) Che verranno successivamente sostituiti da valori.

viene eseguito in modo che l’istruzione Insert possa essere riutilizzata con valori diversi ed essere incoronato dai punti diversi (cache di connessione di I driver, la cache del database, …).

Per riempire i valori, semplicemente possiamo nutrire dai metodi SetXXX sul preparato. Il valore di XXX dipenderà dal tipo di dati che gestiamo: SetString, SetDate, Stint, …

Vediamo come lo assegniamo nel nostro esempio:

String sISBN = "84-9815-212-7";String sTitulo = "Yo, Claudio";String sDescripcion= "Supuesta autobiografía de Claudio...";String sCategoria = "novela histórica";int idAutor = 3; stmt.setString(1,sISBN);stmt.setInt(2,idAutor);stmt.setString(3,sTitulo);stmt.setString(4,sDescripcion);stmt.setString(5,sCategoria);

eseguirai solo la frase. Quando la frase da eseguire non restituisce un insieme di risultati, non dobbiamo usare Executequey (), ma dobbiamo usare ExecuteUpdate (). Questo è applicabile per inserire, aggiornare ed eliminare.

stmt.executeUpdate();

Il valore restituito da questa affermazione è 1 per inserimento, aggiornamento ed eliminazione e 0 istruzioni per le istruzioni SQL che Non restituire nulla.

Alla fine del nostro programma non possiamo dimenticare di chiudere le connessioni del database 😉

Ma cosa succede se il valore da inserire (nella password ) Esiste già nel database? Bene, una frase SQxception salterà. In questa eccezione possiamo recuperare il SQLState e SqLerrorCode, che forniranno informazioni sull’errore.

33 Condividi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *