Java - MySQL : comment insérer des données dans une base [Résolu]

cs_Kaylia 10 Messages postés mardi 18 octobre 2005Date d'inscription 12 mai 2006 Dernière intervention - 13 févr. 2006 à 00:51 - Dernière réponse : B2amba 2 Messages postés dimanche 22 avril 2012Date d'inscription 10 juillet 2012 Dernière intervention
- 25 avril 2012 à 16:53
Salut à tous,

Je souhaite gérer une bibliothèque de livres avec une base de données mysql, en utilisant JDBC pour me connecter à la base et l'exploiter.
Dans ma bibliothèque virtuelle, il y a des livres, des adhérents, et un employé qui gère l'ajout de livres, la modification...
J'arrive à me connecter à ma base "biblio" grâce à un script de connexion, et les requêtes "SELECT" que je fais fonctionnent.
Cependant, j'aimerais faire un programme principal afin que l'employé ajoute un livre facilement, sans taper une requête SQL biensur :

Exemple :

class Main
{
public static void main(String[] args)
{
String nom;
System.out.println ("Ajouter un éditeur");
System.out.println ("Saisir le nom : ");
nom=Clavier.saisirString (); //Clavier est une classe permettant de saisir
//une chaîne de caractères...
//ensuite j'insère la variable "nom" dans la base, là je ne sais comment faire
}
}

Merci de bien vouloir me répondre

Cordialement, Kaylia
Afficher la suite 

8 réponses

Répondre au sujet
cs_nomad56 54 Messages postés samedi 16 avril 2005Date d'inscription 13 avril 2006 Dernière intervention - 13 févr. 2006 à 05:28
+3
Utile
ta du comprendre que ca venait de la requete ... vu que le champ code_editeur est une clé primaire et AUTO_INCREMENT, pas besoin de le spécifier dans ta requete, à mon avis ca viens de la, donc essaie



String query = "INSERT INTO `editeur` (nom_editeur) VALUES (" + nom + " )";

au lieu de

String query = "INSERT INTO `editeur` (code_editeur, nom_editeur) VALUES (''," + nom + " )";



de plus, en tant que PRIMARY KEY, il ne doit pas etre null et toi t'essaie de passer la valeur VALUES ('' ... c'est moyen ....



puis pour le debeugage c mieu de mettre :



catch (Exception d)
{
System.out.println ("Probleme de requete"+d.getMessage());
}



comme ca tu vois c koi l'erreur ... voila missiou



et perso je préfère largement les BDD que les fichiers ... facile à
archiver tes données, MAJ faciles, alors que pour modif la
structure d'un fichier bonjour ... en même temps g presk pas d'XP sur
les fichiers ...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_nomad56
cs_Kaylia 10 Messages postés mardi 18 octobre 2005Date d'inscription 12 mai 2006 Dernière intervention - 13 févr. 2006 à 02:26
+1
Utile
Arf, c'est de l'anglais! merci, je regarde ça... J'avance, mais JAVA ne m'aime pas trop...

Exemple :

// ...connexion à la base réussie...
public void addEditeur()
{
try
{
// Execution de la requête
Statement stmt = connection.createStatement();
System.out.println ("Saisir le mon de l'éditeur : ");
String nom = Clavier.saisirString();
String query = "INSERT INTO `editeur` (code_editeur, nom_editeur) VALUES (''," + nom + " )";
stmt.executeUpdate(query);
}
catch (Exception d)
{
System.out.println ("Probleme de requete");
}
}
// fermeture de la connexion à la base

Ben j'ai le message d'erreur! "Probleme de requete" Voici le schéma de ma table éditeur :

CREATE TABLE editeur(
code_editeur int AUTO_INCREMENT,
nom_editeur varchar( 30 ),
CONSTRAINT pk_editeur PRIMARY KEY( code_editeur ));

Qu'est-ce qui cloche au juste? Suis-je complètement à côté de la plaque?

Merci de bien vouloir me répondre

Cordialement, Kaylia
Commenter la réponse de cs_Kaylia
capoueidiablo 316 Messages postés jeudi 9 janvier 2003Date d'inscription 1 février 2010 Dernière intervention - 13 févr. 2006 à 11:11
+1
Utile
Oops, ca c'est ma faute :p

désolé de t'avoir induit en erreur [auteurdetail.aspx?ID=601387 ]Kaylia

si je peux me permettre encore une chose lors de ton

try {
// connexion bdd requete ...
}
catch (...) {
// on recupere les exceptions ....
}
finally {
// on ferme les ressources, connexions, ...
// finally sera tjrs executé que ton try est réussi ou non
}

Voila, encore désolé pour la petite erreur dans l'insert :s
--Capoueidiablo--
Commenter la réponse de capoueidiablo
capoueidiablo 316 Messages postés jeudi 9 janvier 2003Date d'inscription 1 février 2010 Dernière intervention - 13 févr. 2006 à 01:05
0
Utile
heu ... c'est peu etre bêtes ce que je vais dire mais tu peux faire la requete dynamiquement ...

au moment ou tu récupere la valeur tappé tu ajoute a la requete "INSERT ... " que TU aura crée la valeur saisie ...

ex :
String nom= Clavier.saisirString();
String query;
query = "INSERT INTO `user` (id, nom) VALUES (''," + nom + " )"; // est apres tu executes t'as requete ou tu l'envoi à JDBC ...

bon apres je sais pas bien comment fonctionne JDBC ni comment tu as codé ni ton niveau ni rien du tout en faite :)

enfin voila en espérant t'avoir apporté, si ce n'est la réponse, du réconfort ...

Bon courage.
-- Capoueidiablo--
Commenter la réponse de capoueidiablo
cs_Kaylia 10 Messages postés mardi 18 octobre 2005Date d'inscription 12 mai 2006 Dernière intervention - 13 févr. 2006 à 01:26
0
Utile
Merci d'avoir répondu aussi vite Capoueidiablo!

Je vais essayer ce que tu m'as dit.
En fait je débute, je ne te cache pas je si c'était en PHP j'aurais déjà fini ce projet , mais là je découvre JAVA et j'ai un peu de mal..., et c'est ce langage qu'on nous impose pour ce projet, donc voilà.

Le prof nous a aussi parlé des fichiers, où l'on aurait stocké les livres, les adhérents..., mais là encore, je ne sais où donner de la tête, certains pensent qu'avec les fichiers c'est plus facile, d'autres non, enfin bref : j'attends vos avis pour que je progresse.

Merci de bien vouloir me répondre

Cordialement, Kaylia
Commenter la réponse de cs_Kaylia
capoueidiablo 316 Messages postés jeudi 9 janvier 2003Date d'inscription 1 février 2010 Dernière intervention - 13 févr. 2006 à 01:51
0
Utile
Je pense aussi qu'avec les fichiers ca peut etre un peu plus simple ...

mais bon tout est relatif :)

dans les fichiers t'as deux choix, le plus simple, pour moi, se trouve du coté des fichiers proprietées ...
va voir la javadoc

après tu as les fichiers XML ... cherche du coté de SAX, JDOM

m'enfin c'est tjrs mieu de faire mumuse avec les bases de données ...
alors regarde bon les couleurs sont affreuse mais je crois que tu y trouvera quelques informations utiles :)

et enfin n'oublie pas que googleest ton ami ;)
--Capoueidiablo--
Commenter la réponse de capoueidiablo
cs_nomad56 54 Messages postés samedi 16 avril 2005Date d'inscription 13 avril 2006 Dernière intervention - 13 févr. 2006 à 23:33
0
Utile
ca arrive a tous t'inkiet capou :) si tu savais le nombre de fois ou
j'ai perdu des heures pour ce genre de truc, ou pour une simple faute
de frappe :)
Commenter la réponse de cs_nomad56
B2amba 2 Messages postés dimanche 22 avril 2012Date d'inscription 10 juillet 2012 Dernière intervention - 25 avril 2012 à 16:53
0
Utile
salut à tous je suis nouveau dans la programmation avec java.
je veux établir une connexion avec ma base mysql via une application java
mais comment faire?????
Merci de bien vouloir m'aider
Commenter la réponse de B2amba

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.