Bonjour,
J'utilise ma base de données depuis des années, et aujourd'hui je suis confronté à un problème que je ne comprends pas.
Lorsque je lis une table T1 , que j'écris les mêmes lignes dans dans une table T2, les deux tables ont même structure), après l'exécution du programme test (en Java), je relance mon application et je m'aperçois que plusieurs lignes on été supprimées dans la table T1. Cette base fait environ 80 Méga-Octets.
Voici une impression avant l’exécution d'un programme d'application :
j’exécute le programme ci-dessous, puis je relance mon application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SL color = java.awt.Color[r=0,g=0,b=255] FG color = java.awt.Color[r=255,g=255,b=255] CD color = java.awt.Color[r=204,g=204,b=204] RL color = java.awt.Color[r=0,g=0,b=255] PN color = java.awt.Color[r=0,g=0,b=255] pour Accueil.ListeFilms BG color = java.awt.Color[r=51,g=51,b=51]
et voici l"impression
Comme vous le constatez 4 lignes ne sont plus imprimées (en réalité beaucoup plus, mais j'avais limité le traçage).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 PN color = java.awt.Color[r=0,g=0,b=255] pour Accueil.ListeFilms RL color = java.awt.Color[r=0,g=0,b=255]
J'ai pensé que ma base (ou tout au moins cette table) était corrompue, j'ai donc exécuté
"mysqlcheck --auto-repair MaBase"
et aucun problème n'a été détecté.
Merci d'avance pour tout commentaire.
Gérard
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 package patches; /* * Auteur: Gérard MARTINELLI */ import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import cinephil.Common; public class Patch26 { private static Connection cnx = null; public static void exécuter() { connect(); try { Statement stmt1 = cnx.createStatement(); Statement stmt2 = cnx.createStatement(); String req = "Select * from Parametres Order by clef"; ResultSet rs = stmt1.executeQuery(req); while (rs.next()) { String clef = rs.getString("Clef"); String type = rs.getString("Type"); String mode = rs.getString("Mode"); String couleur = rs.getString("Couleur"); String fichier = rs.getString("Nom_Fichier"); String police = rs.getString("Nom_Police"); String attributs = rs.getString("Attributs"); int taille = rs.getInt("Taille_Police"); String requete = "INSERT INTO Parametre2 SET "; requete += " Clef ='" + clef + "', " ; requete += " Type ='" + type + "', " ; requete += " Mode ='" + mode + "', " ; requete += " Couleur ='" + couleur + "', " ; requete += " Nom_Fichier ='" + fichier + "', " ; requete += " Nom_Police ='" + police + "', " ; requete += " Attributs ='" + attributs + "', "; requete += " Taille_Police =" + taille ; stmt2.executeUpdate(requete); } rs.close(); stmt1.close(); stmt2.close(); cnx.close(); } catch (SQLException e) { e.printStackTrace();} } public static void connect() { if (Common.creationConnexion() < 0) return; cnx = Common.cnx; } public static void main(String[] args) { Patch26.exécuter(); System.out.println("Terminé"); } }
Partager