Pb mise a jour base de donnees
Résolu
laurent2403
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
laurent2403 Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
laurent2403 Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
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();
}
}
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();
}
}
A voir également:
- Pb mise a jour base de donnees
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise a jour kindle - Guide
- Mise à jour libre office - Accueil - Bureautique
4 réponses
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 :
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); .....
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
j'ai reformule ma requete mais toujours pareil , voila merci
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();
}
}
"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();
}
}
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 :
att dans ton prepare.setString(6,vdate); la date et a la postion '6' alors dans ton requete doit avoir la position 6
--
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
--