- Nemo,
Bonjour, Je suis à retravailler mon code avec le PreparedStatement et j'ai un petit problème au moment de la conversion des String en valeur pour les ajouter au statement. Le problème provient du fait que dans le fichier CSV d'où j'extraie les valeur, il arrive que des champs soient vides et prennent une valeur "" dans mon tableau de champs. Ce qui fait que lorsque je veux convertir la string vide soit en Long ou en sql.Date, j'ai une erreur lors de l'exécution.
1 2 3 4 | java.lang.NumberFormatException: For input string: "" java.lang.IllegalArgumentException at java.sql.Date.valueOf(Date.java:143) at fcen2h2Sql.foodName2SQL(fcen2h2Sql.java:75) |
Voici deux exemples de lignes susceptibles d'avoir à traiter une String vide:
1 2 | pstmt.setDate(8, Date.valueOf(nextLine[7]) ); pstmt.setLong(9, Long.valueOf(nextLine[8]) ); |
C'est dans le tableau nextLine[] que se trouvent les données sous forme de String de chacun des champs à insérer dans ma BDD. Mon premier réflexe serait encore une fois de traiter le cas avec un opérateur ternaire, mais je me demandais si vous ne connaitriez pas une manière plus simple et/ou propre et efficace de faire…
A+, Nemo