ligne de code jusqu’au programme

Programmation en Java

Nous avons plusieurs façons de faire Un insert contre une base de données à l’aide de JDBC. Mais le plus simple de tous est d’exécuter une déclaration d’insertion SQL.

C’est pourquoi la première chose que nous allons voir est la structure de ce jugement:

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

où les champs sont les noms des colonnes de la table dans laquelle nous souhaitons insérer des valeurs. Si nous voulons remplir toutes les données des colonnes, il n’est pas nécessaire de mettre ces champs. Les valeurs seront, dans une commande rigoureuse, celles correspondant aux colonnes de la table.

Dans l’exemple, nous utiliserons la table de livre. Nous passons au détail un peu plus:

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

Voyons les étapes qui doivent être données pour exécuter l’insertion via une connexion JDBC.

La première chose à faire est de créer la connexion sur la base de données. Pour cela, nous devons connaître l’URL et les pilotes de base de données. Dans notre cas, nous nous soutenons sur MySQL, ce serait quelque chose comme ce qui suit:

avec les pilotes et l’URL Nous devrons simplement obtenir la connexion (Connexion de classe) via l’utilisateur et le mot de passe.

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

Une fois la connexion obtenue, nous préparerons l’instruction insertion à l’aide d’une estabilité préparée

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

Une chose très importante est que lors du montage de l’instruction insertion, nous ne définissons pas les valeurs de la déclaration. Au lieu de cela, nous mettons des interrogations (?) Qui seront ensuite remplacées par des valeurs.

Ceci est fait pour que l’instruction insertion puisse être réutilisée avec des valeurs différentes et être couronnée par les différents points (cache de connexion de Les pilotes, cache de la base de données, …).

Pour remplir les valeurs, nous pouvons simplement alimenter les méthodes SETXXX sur la systémation préparée. La valeur de XXX dépendra du type de données que nous gérons: SetString, SetDate, Standing, …

Voyons comment nous l’attribuerions dans notre exemple:

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);

Vous n’écoulerez que la phrase. Lorsque la phrase à exécuter ne renvoie pas un ensemble de résultats, nous ne devons pas utiliser ExecuteQuyey (), mais nous devons utiliser ExecuteUpdate (). Ceci est applicable pour insérer, mettre à jour et supprimer.

stmt.executeUpdate();

La valeur renvoyée par cette instruction est 1 pour insertion, mise à jour et supprimer et 0 instructions pour les instructions SQL que Ne retournez rien.

à la fin de notre programme, nous ne pouvons pas oublier de fermer les connexions de la base de données 😉

mais que se passe-t-il si la valeur à insérer (dans votre mot de passe ) existe déjà dans la base de données? Eh bien, une phrase SQLException va sauter. Dans cette exception, nous pouvons récupérer le SQLSTATE et SQLERRORCODE, qui donneront des informations d’erreur.

33 Partager

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *