Bonjour,
Voila j'ai un problème lors de l'insertion voici le message d'erreur :
Ce qui veut dire que : une erreur de dépassement mémoire : il y a quelque chose dans mon code qui pointe en dehors de la zone de mémoire allouée, et donc pointe sur null. Mais je ne vois pas où . Car je n'utilise n'y des vecteurs et ni tableau. Après je me suis dis que cela peut venir de ma connexion mais c'est pas possible car toute mes autres fonction (Création de table, requête simple ... ) marche et me renvoi quelque chose et créer bien la table au niveau d'oracle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Exception in thread "main" java.lang.NullPointerException at testbd.LectureFichier.lireFichier(LectureFichier.java:49) at testbd.LectureFichier.main(LectureFichier.java:81) Java Result: 1
Voici mon code:
Je vous remercie pour votre aide
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 package testbd; import java.sql.SQLException; /** * Lit un fichier texte et affiche son contenu sur System.out. * Les différents éléments de la ligne sont séparés par un ou plusieurs espaces. * */ import java.io.File; import java.io.FileNotFoundException; import java.sql.Connection; import java.sql.Statement; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; public class LectureFichier { private static Statement stmt; private static Connection con; /** * Lit un fichier texte contenant les données de la table JoltDate * et affiche son contenu sur System.out. * Les différents éléments de la ligne sont séparés par un ou plusieurs espaces. * @param nomfichierCour le nom du fichier texte à lire */ public static void lireFichier(String nomfichierCour) { int i = 0; if (nomfichierCour != null) { try { Scanner scanner = new Scanner(new File(nomfichierCour)); while ((scanner.hasNext())) { // traitement de la ligne courante. // on lit le Nom, le jour et le nombre de tasses String nom = scanner.next(); String jour = scanner.next(); int nbtasse = scanner.nextInt(); stmt.executeUpdate("INSERT INTO JoltData VALUES ('" + nom + "', '" + jour + "', '" + nbtasse + "')"); con.commit(); } scanner.close(); } catch (SQLException ex) { try { con.rollback(); // annule les opérations de la transaction while (ex != null) { System.out.println("SQL Exception"); System.out.println(ex.getMessage()); System.out.println("ANSI-92 SQL State : " + ex.getSQLState()); System.out.println("Vendorerrorcode : " + ex.getErrorCode()); ex = ex.getNextException(); } } catch (SQLException ex1) { Logger.getLogger(LectureFichier.class.getName()).log(Level.SEVERE, null, ex1); } }catch (FileNotFoundException ioe) { System.out.println("Fichier " + nomfichierCour + " inexistant"); System.exit(0); } } } /** * programme de test. */ public static void main(String[] args) { LectureFichier.lireFichier("C:/UsersDocuments/NetBeansProjects/TestBD/src/testbd/test.data"); } }
Cordialement.
Partager