IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Data truncated for column 'idadresse' at row 1


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 11
    Points
    11
    Par défaut Data truncated for column 'idadresse' at row 1
    Bonjour à tous

    J'ai créé un programme en java qui permet de gérer une base de données SQL pour mon université.

    Je rencontre un problème avec une méthodes voici la 1er méthodes qui permet d'ajouter un etudiants et son adresse dans les table respectif :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    public static void CreationEtudiant (Statement stmt){
    		try{
    			// Dec des variable
    			String numeroEtudiant,nom,prenom,numVoie,voie,ville,requete,idville,requete2;
    			int codePostal, update;
    			ResultSet rs;
     
    			System.out.println("Tapez le numeroEtudiant de l'etudiant:");
    			numeroEtudiant=Clavier.readString();
    			System.out.println("Tapez le nom de l'etudiant :");
    			nom=Clavier.readString();
    			System.out.println("Tapez le prenom de l'etudiant:");
    			prenom=Clavier.readString();
    			System.out.println("Tapez l'adresse de l'étudiant :");
    			voie=Clavier.readString();
    			System.out.println("Tapez le numero de la voie de l'adresse :");
    			numVoie=Clavier.readString();
    			System.out.println("Tapez la ville de l'etudiant :");
    			ville=Clavier.readString();
    			System.out.println("Tapez le code postal de l'etudiant :");
    			codePostal=Clavier.readInt();
     
    			//Verification de l'existence de la ville dans la base de donnée
    			requete = "SELECT idville FROM ville WHERE ville='"+ville+"';";
    			rs = stmt.executeQuery(requete);
    			if (rs.next()){
    				idville = rs.getString ("idville");
    			} else {
    				idville = "";
    			}
    			if ( idville == "" ) {
    				// La ville n'existe pas
    				// Insertion de la ville dans la table Ville
    				requete = "INSERT INTO ville VALUES (NULL,'"+ville+"','"+codePostal+"');";
    				update = stmt.executeUpdate(requete);
    				System.out.println("update="+update);
    				// Insertion de la ville dans la table Adresse
    				requete = "INSERT INTO adresse VALUES (NULL,'"+voie+"','"+numVoie+"',(SELECT idville FROM ville WHERE ville='"+ville+"'));";
    				update = stmt.executeUpdate(requete);
    				System.out.println("update="+update);
    			} else {
    			// La ville Existe
    			// Ajout d'une adresse dans la Table adresse avec l'idville existant
    			requete = "INSERT INTO adresse VALUES (NULL,'"+voie+"','"+numVoie+"',(SELECT idville FROM ville WHERE ville='"+ville+"'));";
    			update = stmt.executeUpdate(requete);
    			System.out.println("update="+update);
    			}
     
    			//Requete d'insertion dans la table Etudiants
    			requete2="INSERT INTO etudiants VALUES ('"+numeroEtudiant+"','"+nom+"','"+prenom+"',(SELECT idadresse FROM adresse WHERE voie = '"+voie+"' AND numVoie = '"+numVoie+"'));";
    			update = stmt.executeUpdate(requete2);
    			System.out.println("update="+update);
     
     
    		}catch (Exception e){
    			e.printStackTrace();
    		}
    	}
    Et la aucun problème cela marche niquel par contre pour la 2eme méthodes qui est presque (seulement le nom des variable et table change) la meme qui permet d'ajouter un enseignant a la base de donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    public static void CreationEnseignant(Statement stmt){
    		try{
    			// Dec des varaible
    			String numeroEnseignant,nom,prenom,numVoie,voie,ville,requete,idville;
    			int codePostal,update;
    			ResultSet rs;
     
    			System.out.println("Tapez le numeroEnseignant de l'enseignant:");
    			numeroEnseignant=Clavier.readString();
    			System.out.println("Tapez le nom de l'enseignant :");
    			nom=Clavier.readString();
    			System.out.println("Tapez le prenom de l'enseignant :");
    			prenom=Clavier.readString();
    			System.out.println("Tapez l'adresse de l'enseignant :");
    			voie=Clavier.readString();
    			System.out.println("Tapez le numero de la voie de l'adresse :");
    			numVoie=Clavier.readString();
    			System.out.println("Tapez la ville de l'enseignant :");
    			ville=Clavier.readString();
    			System.out.println("Tapez le code postal de l'enseignant :");
    			codePostal=Clavier.readInt();
     
    			//Verification de l'existence de la ville dans la base de donnée
    			requete = "SELECT idville FROM ville WHERE ville='"+ville+"';";
    			rs = stmt.executeQuery(requete);
    			if (rs.next()){
    				idville = rs.getString ("idville");
    			} else {
    				idville = "";
    			}
    			if ( idville == "" ) {
    				// La ville n'existe pas
    				// Insertion de la ville dans la table Ville
    				requete = "INSERT INTO ville VALUES (NULL ,'"+ville+"','"+codePostal+"');";
    				update = stmt.executeUpdate(requete);
    				System.out.println("update="+update);
    				// Insertion de la ville dans la table Adresse
    				requete = "INSERT INTO adresse VALUES (NULL ,'"+voie+"','"+numVoie+"',(SELECT idville FROM ville WHERE ville='"+ville+"'));";
    				update = stmt.executeUpdate(requete);
    				System.out.println("update="+update);
    			} else {
    			// La ville Existe
    			// Ajout d'une adresse dans la Table adresse avec l'idville existant
    			requete = "INSERT INTO adresse VALUES (NULL,'"+voie+"','"+numVoie+"',(SELECT idville FROM ville WHERE ville='"+ville+"'));";
    			update = stmt.executeUpdate(requete);
    			System.out.println("update="+update);
    			}
     
    			//Requete d'insertion dans la table Enseignants
    			requete="INSERT INTO enseignants VALUES ('"+numeroEnseignant+"','"+nom+"','"+prenom+"',(SELECT idadresse FROM adresse WHERE voie = '"+voie+"' AND numVoie = '"+numVoie+"'));";
    			update = stmt.executeUpdate(requete);
    			System.out.println("update="+update);
    		} catch (Exception e){
    			e.printStackTrace();
    		}
    	}
    me sort cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    java.sql.SQLException: Data truncated for column 'idadresse' at row 1
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
    	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
    	at com.mysql.jdbc.Connection.execSQL(Connection.java:3170)
    	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1316)
    	at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1235)
    	at GestionSQL.CreationEnseignant(GestionSQL.java:243)
    	at GestionSQL.main(GestionSQL.java:307)
    Je ne comprend absolument pas le pourquoi du comment :S

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Vraiment personne ??

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 33
    Points : 36
    Points
    36
    Par défaut
    Vraiment personne ??
    Ca ne faisait que 20 min que tu avais posté, ne soit pas aussi impatient

    A mon avis, tu devrais vérifier le type de données que tu utilises pour le champs 'idadresse' de ta table 'enseignants'

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par fouckybzh Voir le message
    Ca ne faisait que 20 min que tu avais posté, ne soit pas aussi impatient

    A mon avis, tu devrais vérifier le type de données que tu utilises pour le champs 'idadresse' de ta table 'enseignants'
    Merci c'étais effectivement un problème dans ma BDD.
    Merci bien ^^

  5. #5
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    As tu des caractères spéciaux dans tes chaines style '

    Utilise des PreparedStatement, ça va te simplifier la vie ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    j'ai un problème similaire,

    Data truncated for column 'Actif' at row 1

    avec le code suivant:
    $query2="INSERT INTO contrat(NumClient,NumContrat,JourDebut,MoisDebut,AnneeDebut,JourFin,MoisFin,AnneeFin,NomTypeContrat,Actif,MontantHT,Periodicite,Terme,Paiement) VALUES ('$NumClient','$NumContrat','$JourDebut','$MoisDebut','$AnneeDebut','$JourFin','$MoisFin','$AnneeFin','$NomTypeContrat','$Actif','$MontantHT','$Periodicite','$Terme','$Paiement')";

    Actif est dans ma BDD un : enum('Oui','Non')
    et dans mon code:
    var newCell = newRow.insertCell(2);
    newCell.align = 'center';
    newCell.innerHTML = '<INPUT TYPE="radio" name="Actif['+numero+']" id="Actif['+numero+']" value="Oui" checked>Oui<INPUT TYPE="radio" name="Actif['+numero+']" id="Actif['+numero+']" value="Non">Non';

Discussions similaires

  1. Data too long for column 'title' at row 1
    Par Jolt0x dans le forum Débuter
    Réponses: 2
    Dernier message: 16/06/2014, 20h36
  2. [MySQL]error 1265 (01000) data truncated for column
    Par fayabobo dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/05/2011, 15h43
  3. Champ ENUM Data truncated for column
    Par dfghjk1234 dans le forum MySQL
    Réponses: 0
    Dernier message: 22/02/2011, 14h37
  4. Warning 1265: Data truncated for column
    Par el_kiko dans le forum MySQL
    Réponses: 2
    Dernier message: 01/03/2010, 20h17
  5. Erreur : Data truncated for column
    Par mercure07 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 10/12/2008, 10h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo