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 :

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]
j’exécute le programme ci-dessous, puis je relance mon application.

et voici l"impression
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]
Comme vous le constatez 4 lignes ne sont plus imprimées (en réalité beaucoup plus, mais j'avais limité le traçage).


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é");
		}
}