Insertion dans une base de donnée

youyou169 - 3 mai 2013 à 01:37
 youyou169 - 7 mai 2013 à 14:57
Bonsoir,
je veux récupérer un fichier à partir téléchargé par un utilisateur et le sauvegarder sur ma base de donnée faite avec mysql seulement j y arrive pas g une erreur sur executeUpdate() aidez moi svp .
voici mon code:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub

PrintWriter out = response.getWriter();
String PersonneRessource=request.getParameter("PersonneRessource");
String Titre=request.getParameter("Titre");
String Auteur=request.getParameter("Auteur");
String DateCreation=request.getParameter("DateCreation");
String Specialite=request.getParameter("Specialite");
String MotCle=request.getParameter("MotCle");
String Description=request.getParameter("Description");
String Format=request.getParameter("Format");
String Categorie=request.getParameter("Categorie");

String Type1=request.getParameter("Type1");
String Type2=request.getParameter("Type2");

String NiveauEtude=request.getParameter("NiveauEtude");
String Ressource=request.getParameter("Fichier");

if(Categorie=="Recherche") Type= Type1;

else if (Categorie=="Enseignement") Type=Type2;


out.println("");
out.println("Droit Ressource:"+PersonneRessource);
out.println("
Titre:"+Titre);
out.println("
Auteur:"+Auteur);
out.println("
Date Création:"+DateCreation);
out.println("
Spécialité:"+Specialite);
out.println("
Mots clès:"+MotCle);
out.println("
Des:"+Description);
out.println("
Format"+Format);
out.println("
catégorie:"+Categorie);
out.println("
Fichier :"+Ressource);
out.println("
Type :"+Type);
out.println("
Niveau d'etude :"+NiveauEtude);

try {

Connection conn = dbConnect();



String INSERT_PICTURE="insert into ressource (Categorie,Auteur,DateCreation,Description,Type,Ressource ) values (?,?,?,?,?,?)";

FileInputStream fis = null;
PreparedStatement ps = null;

conn.setAutoCommit(false);
File file = new File(Ressource);
fis = new FileInputStream(file);
System.err.println(file.length());

ps = conn.prepareStatement(INSERT_PICTURE);

ps.setString(1, Categorie);
ps.setString(2,Auteur);
ps.setString(3, DateCreation);


ps.setString(4, Description);
ps.setString(5,Type);

ps.setBinaryStream(6,fis, (int)file.length());


System.err.println(ps.toString());
System.err.println((int)file.length());
ps.executeUpdate();

System.err.println((int)file.length());

conn.commit();
ps.close();
fis.close();


out.println("insertion terminer");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

9 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
3 mai 2013 à 08:16
Salut,

Peux tu me donner la trace de ton erreur ?
0
Utilisateur anonyme
3 mai 2013 à 17:05
Salut,

Si mes souvenirs sont bons, executeUpdate() n'est pas plutôt une méthode chargée de faire des udpate ? Là ta requête est une requête d'insertion, or il ne me semble pas qu'il faille appeler executeUpdate(). Après, j'ai un petit doute mais vérifie ça. Sinon regarde si les valeurs en paramètres correspondent bien à ce qui est attendu dans ta tabe. Et poste ton message d'erreur comme l'a dit Julien39.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
6 mai 2013 à 08:40
Désolé Pylouq mais il utilises executeUpdate correctement :
[list]
executeUpdate est une méthode qui exécute des requêtes qui modifient la base (CREATE TABLE, UPDATE, INSERT...)
executeQuery est une méthode qui exécute des requêtes qui interrogent la base sans la modifier (SELECT)
/list

Donc, pour lui, c'est ok
0
Merci pour vos réponses, j'ai trouvé l'erreur c'était une erreur de paramètre.
par contre j'ai un autre soucis l'insertion marche très bien depuis le navigateur mais dés que je charge la page avec un autre navigateur l'insertion ne se fait pas
Merci d'avance pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
je voulais dire le navigateur d'eclipse
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
7 mai 2013 à 09:57
Je ne comprend pas, dès que tu exportes un jar ? Si c'est le cas, c'est certainement un problème de chemin relatif ou une connexion mal paramétrée, comment changes tu de navigateur ?
0
je change pas de navigateur, j'accède au formulaire par un autre navigateur je met juste l'url
la page se charge parfaitement il récupère toutes les informations sauf le fichier.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
7 mai 2013 à 14:11
Et tu as récupéré des infos dans les logs du serveur ?
0
oui j'ai récupéré les infos
0
Rejoignez-nous