Pb mise a jour base de donnees [Résolu/Fermé]

Signaler
Messages postés
80
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
-
Messages postés
80
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
-
Bonjour, j'ai un soucis lorsque je test la mise a jour de ma bd , il me met tout le temps ce message , je ne sais pas ce que ca veut dire si quelqu'un pouvait m'aider , merci beaucoup

voici ma requette :

package Test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import javax.swing.JOptionPane;
import javax.swing.text.DateFormatter;

import com.mysql.jdbc.PreparedStatement;

import controle.Connection_1;
import controle.Date_parse;
import dialogue.FrameClient;

import entite.Client;
import entite.Fournisseur;

public class Test3 {


public static boolean Modifier_Client() throws ParseException {

String vid_client = "BAPA1006";
String vnom = "ssssssss" ;
String vprenom = "fffffffff";
int vtph = 000000000000;
int vfidelite = 5;
String vdate = "2010-10-12";
boolean vvip = true ;


boolean modif = false ;
String requete = (" update client set nom = '" + vnom + "' , prenom = '" + vprenom + "' , tph = '" + vtph + "' , " +
" fidelite = '" + vfidelite + "' , vip = '" + vvip + "' where id_client = '" + vid_client + "' ");
try {
PreparedStatement prepare =
(PreparedStatement) Connection_1.getLaConnectionStatique().prepareStatement(requete);
prepare.setString(1, vid_client);
prepare.setString(2, vnom);
prepare.setString(3, vprenom);
prepare.setInt(4, vtph);
prepare.setInt(5, vfidelite);
prepare.setString(6,vdate);
prepare.setBoolean(7,vvip);
prepare.executeUpdate();
prepare.close();
modif = true;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Ajout dans la BD non effectué : "
+ e.getMessage(), "Problème rencontré",
JOptionPane.ERROR_MESSAGE);
}
return modif;
}




public static void main(String[] args) throws Exception {


Modifier_Client();

}

}

4 réponses

Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
il me met tout le temps ce message , vous n'avez pas poster le message d'erreur !!

aussi je crois que l'erreur vient que vous passe le paramètre dans req direct alors que tu utilise le PreparedStatement,
votre requette devras etre comme sa :

.... 
String requete = (" UPDATE client set nom = ? , prenom =? , tph = ? ,fidelite =? , vip =? where id_client =? "); 
try { 
PreparedStatement prepare = 
(PreparedStatement) Connection_1.getLaConnectionStatique().prepareStatement(requete); 

prepare.setString(1, vnom); 
prepare.setString(2, vprenom); 
prepare.setInt(3, vtph); 
prepare.setInt(4, vfidelite); 
prepare.setBoolean(5,vvip); 
prepare.setString(6, vid_client); 
.....

Messages postés
80
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
2
merci pour ta réponse en fait le message d'erreur est "paramètre index out of range(0<1) "
j'ai reformule ma requete mais toujours pareil , voila merci
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
pouvez-vous ré-poster votre code , Merci
Messages postés
80
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
2
bonjour tout le monde , j'ai reformule ma requête , mais toujours ce message
"paramètre index out of range (0<1) " je ne comprend pas trop d'où peut venir mon erreur , si quelqu'un sait ce serait sympa parce que moi je ne vois pas trop , merci beaucoup...

package Test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import javax.swing.JOptionPane;
import javax.swing.text.DateFormatter;

import com.mysql.jdbc.PreparedStatement;

import controle.Connection_1;
import controle.Date_parse;
import dialogue.FrameClient;

import entite.Client;
import entite.Fournisseur;

public class Test3 {


public static boolean Modifier_Client() throws ParseException {

String vid_client = "BAPA1006";
String vnom = "sssss" ;
String vprenom = "fffffffff";
int vtph = 00000000;
int vfidelite = 5;
String vdate = "2010-10-12";
int vvip = 0 ;


boolean modif = false ;
String requete = (" UPDATE client set nom = ? , prenom =? , tph = ? ,fidelite =? , vip =? where id_client =? ");
try {
PreparedStatement prepare =
(PreparedStatement) Connection_1.getLaConnectionStatique().prepareStatement(requete);

prepare.setString(1, vid_client);
prepare.setString(2, vnom);
prepare.setString(3, vprenom);
prepare.setInt(4, vtph);
prepare.setInt(5, vfidelite);
prepare.setString(6,vdate);
prepare.setInt(7,vvip);
prepare.executeUpdate();
prepare.close();
modif = true;
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,
"Ajout dans la BD non effectué : "
+ e.getMessage(), "Problème rencontré",
JOptionPane.ERROR_MESSAGE);
}
return modif;
}




public static void main(String[] args) throws Exception {


Modifier_Client();

}

}
Messages postés
312
Date d'inscription
dimanche 27 novembre 2011
Statut
Membre
Dernière intervention
8 janvier 2021
34
ici tu passe en paramètre < date > prepare.setString(6,vdate); alors que dans ta requette ya pas de date tu doit avoir un champs date selon ta table dans base de donnée je supose que ta un champs fDate dans ta Table client alors :

String requete = (" UPDATE client set  nom = ? , prenom =? , tph = ? ,fidelite =? , vip =?  , fDtae=? where id_client =? "); 


att dans ton prepare.setString(6,vdate); la date et a la postion '6' alors dans ton requete doit avoir la position 6
--
Messages postés
80
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
2
ok merci pour votre aide c'est tres sympa ...