Probleme d'insertion de la date
Fermé
alibabapro
Messages postés
23
Date d'inscription
lundi 18 avril 2016
Statut
Membre
Dernière intervention
23 novembre 2016
-
11 août 2016 à 11:36
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 12 août 2016 à 20:15
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 12 août 2016 à 20:15
A voir également:
- Probleme d'insertion de la date
- Iphone 14 date de sortie - Guide
- Whatsapp la date est incorrecte ✓ - Forum Mobile
- Insertion sommaire word - Guide
- Publipostage date en anglais ✓ - Forum Excel
- Cette photo n’a pas été prise cette année. trouvez la date, l'heure et avec quel modèle d'appareil photo elle a été prise. ✓ - Forum Graphisme
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
11 août 2016 à 19:08
11 août 2016 à 19:08
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.
12 août 2016 à 12:44
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.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.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);
}
Merci de bien vouloir m'aider!!
12 août 2016 à 20:15
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 :
int id = 42; Date date = new Date(); String sql = "UPDATE table SET date = ? WHERE id = ?"; try (PreparedStatement ps = con.prepareStatement(sql)) { ps.setDate(1, date); ps.setInt(2, id); ps.executeUpdate(); }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.