Probleme d'insertion de la date
alibabapro
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, j'essaie d'inserer ce code mais on me signale cette erreur:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'date' at row 1.
Voici mon code:
Pouvez vous m'aider.merci!!
Voici mon code:
try {
if (txtid.getText().isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: id");
else if (((String) cmbno.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: nom");
else if (((String) cmbpr.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: prenom");
else if (((String) cmbte.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: expediteur");
else if (((String) cmbtd.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: destinateur");
else if (((String) cmbref.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: reference");
else if (dedit.getJCalendar().toString().isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: date");
else if (txtmo.getText().isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: montant");
else if (((String) cmbty.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: type");
else if (((String) cmbfr.getSelectedItem()).isEmpty())
JOptionPane.showMessageDialog(this, "SVP entre les infos: frais");
else {
String[] colon = { "id", "nom", "prenom", "expediteur", "destinateur",
"reference", "date", "montant", "type", "frais" };
String[] inf = { txtid.getText(), (String) cmbno.getSelectedItem(),
(String) cmbpr.getSelectedItem(), (String) cmbte.getSelectedItem(),
(String) cmbtd.getSelectedItem(), (String) cmbref.getSelectedItem(),
dedit.getJCalendar().toString(), txtmo.getText(), (String) cmbty.getSelectedItem(),
(String) cmbfr.getSelectedItem() };
System.out.println(db.queryInsert("airtel", colon, inf));
table();
actualiser();
}
} catch (Exception e) {
e.printStackTrace(); // affiche le détail de l'erreur sur la console
JOptionPane.showMessageDialog(this,
java.util.Arrays.toString(e.getStackTrace()),
e.getClass().getName(), JOptionPane.ERROR_MESSAGE);
Pouvez vous m'aider.merci!!
A voir également:
- Probleme d'insertion de la date
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
- Airpods 3 date de sortie - Guide
1 réponse
Bonjour,
Dans une table de base de données chaque colonne a un type avec lequel vient une taille limite des données.
Ton erreur vient du fait que la valeur que tu essais d'insérer dépasse la limite de la colonne.
Deux solutions possibles :
Diminuer la taille de la valeur à insérer pour qu'elle respecte la contrainte.
Changer le type de la colonne sur la table pour augmenter sa taille limite afin que ta donnée rentre dedans.
Dans une table de base de données chaque colonne a un type avec lequel vient une taille limite des données.
Ton erreur vient du fait que la valeur que tu essais d'insérer dépasse la limite de la colonne.
Deux solutions possibles :
Diminuer la taille de la valeur à insérer pour qu'elle respecte la contrainte.
Changer le type de la colonne sur la table pour augmenter sa taille limite afin que ta donnée rentre dedans.
Voici mon code:
Merci de bien vouloir m'aider!!
Puis bien sûr il faut que lorsqu'en Java tu insères ta date ce soit effectivement une date, et de manière générale tu ne peux tout stocker en String dans une base de données, c'est inefficace.
Exemple :
Remarque : JCalendar n'est pas une classe standard Java, si tu l'as récupéré d'une bibliothèque particulière, il faut regarder la documentation associée pour savoir comment s'en servir pour obtenir un objet Date.