Bonjour,
J'essaye d'accéder à mysql pour supprimer des données à partir d'unn programme java. La suppression marche mais ça déclenche cette exception : Connection reset by peer: socket write error. Je ne comprends pas le problème. Veuillez m'aider s'il vous plait.
Voici mon code :
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 package Tp02; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; public class C1 { static ObjectOutputStream o; static ObjectInputStream i1; static Socket s; public static void main(String[] args) throws Exception { // TODO Auto-generated method stub s=new Socket("localhost",15); while(true){ Scanner e=new Scanner(System.in); o=new ObjectOutputStream(s.getOutputStream()); System.out.println("entrer un entier entre 0 et 2"); int n=e.nextInt(); o.writeObject(Integer.toString(n)); switch(n){ case 0:System.out.println("insertion d'un etudiant");System.out.println("entrer un matricule"); String mat1=e.next(); o.writeObject(mat1); System.out.println("entrer un nom"); String nom=e.next(); o.writeObject(nom); System.out.println("entrer un prenom"); String prenom=e.next(); o.writeObject(prenom); i1=new ObjectInputStream(s.getInputStream()); String res_insert=(String) i1.readObject(); System.out.println(res_insert); break; case 1 : System.out.println("suppression d'un etudiant"); System.out.println("entrer un matricule"); String matricule=e.next(); ObjectOutputStream o1=new ObjectOutputStream(s.getOutputStream()); o1.writeObject(matricule); ObjectInputStream inp=new ObjectInputStream(s.getInputStream()); String res_supp=(String) inp.readObject(); int nb=Integer.parseInt(res_supp); if(nb>0) System.out.println("suppression effectuée"); else System.out.println("suppression echouée"); //System.out.println(res_supp); break; case 2: System.out.println("affichage des informations d'un etudiant"); System.out.println("entrer un matricule"); String matri=e.next(); ObjectOutputStream o2=new ObjectOutputStream(s.getOutputStream()); o2.writeObject(matri); ObjectInputStream i2=new ObjectInputStream(s.getInputStream()); String l=(String) i2.readObject(); //for(int k=0;k<l.length();k++) System.out.println(l.toString()); } } } }
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 package Tp02; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.ServerSocket; import java.net.Socket; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.util.LinkedList; import tp2.RmiP3; public class C2{ static Registry reg; static int port=15,port1=20; static String adr="localhost"; static ServerSocket s; static Socket con; static I3 rm; static ObjectOutputStream o,out5,out1; static ObjectInputStream i; public static void main(String[] args) throws Exception { // TODO Auto-generated method stub s=new ServerSocket(port); con=s.accept(); while(true){ i=new ObjectInputStream(con.getInputStream()); reg=LocateRegistry.getRegistry(adr,port1); rm=(I3) reg.lookup("r3"); String nombre=(String) i.readObject(); int nb=Integer.parseInt(nombre); //ObjectInputStream i=new ObjectInputStream(con.getInputStream()); switch(nb){ case 0: String matricule=(String) i.readObject(); String nom=(String) i.readObject(); String prenom=(String) i.readObject(); int etat=rm.inserer(matricule, nom, prenom); if(etat==1) { String res_insert = "insertion effectuée"; o=new ObjectOutputStream(con.getOutputStream()); o.writeObject(res_insert); } else { String res_insert = "insertion echouée"; o=new ObjectOutputStream(con.getOutputStream()); o.writeObject(res_insert); } break; case 1 : try{ ObjectInputStream in=new ObjectInputStream(con.getInputStream()); String mat=(String) in.readObject(); int etat_delete=rm.supprimer(mat); System.out.println(etat_delete); ObjectOutputStream p=new ObjectOutputStream(con.getOutputStream()); String res_delete=Integer.toString(etat_delete); p.writeObject(res_delete); p.flush(); /* if(etat_delete>0){ String res_supp = "suppression effectuée"; // System.out.println(con.toString()); out5=new ObjectOutputStream(con.getOutputStream()); //System.out.println(res_supp); out5.writeObject(res_supp); } else { String res_supp = "suppression echouée"; out1.writeObject(res_supp); }*/ } catch(Exception e){ System.out.println(e.getMessage()); } break; case 2 : LinkedList l=new LinkedList(); ObjectInputStream i2=new ObjectInputStream(con.getInputStream()); String matri=(String) i2.readObject(); l=rm.afficher(matri); out1=new ObjectOutputStream(con.getOutputStream()); out1.writeObject(l.toString()); for(int j=0;j<l.size();j++){ out1.writeObject(l.get(j)); } } } } }
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111 package Tp02; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.LinkedList; import RMI.ServRmi; public class C3 extends java.rmi.server.UnicastRemoteObject implements I3 { static int etat,etat_delete,port=20; static Registry reg; public C3()throws RemoteException{ } public int inserer(String matricule,String nom,String prenom) throws Exception,SQLException{ String ch; String url="jdbc:mysql://localhost:3306/"; String user=""; String pwd=""; String db=""; java.sql.Connection con; String driver="com.mysql.jdbc.Driver"; Class.forName(driver).newInstance(); con=DriverManager.getConnection(url+db, user, pwd); //con.setAutoCommit(false); //System.out.println("connection etablie"); //Statement t=con.createStatement(); String query="INSERT INTO `etudiant` (`matricule`, `nom`, `prenom`) VALUES (?,?,?)"; PreparedStatement t=con.prepareStatement(query); t.setString(1,matricule); t.setString(2,nom); t.setString(3,prenom); int etat=t.executeUpdate(); //con.commit(); //con.setAutoCommit(true); return etat; // } public int supprimer(String matri) throws Exception{ String url="jdbc:mysql://localhost:3306/"; String user=""; String pwd=""; String db=""; java.sql.Connection con; String driver="com.mysql.jdbc.Driver"; Class.forName(driver).newInstance(); con=DriverManager.getConnection(url+db, user, pwd); //System.out.println("connection etablie"); //Statement t=con.createStatement(); String query="delete from `etudiant` where matricule=?;"; PreparedStatement p=con.prepareStatement(query); p.setString(1, matri); etat_delete=p.executeUpdate(); //con.commit(); return etat_delete; } public LinkedList afficher(String matricule) throws Exception{ String url="jdbc:mysql://localhost:3306/"; String user=""; String pwd=""; String db=""; java.sql.Connection con; String driver="com.mysql.jdbc.Driver"; Class.forName(driver).newInstance(); con=DriverManager.getConnection(url+db, user, pwd); //Statement s=con.createStatement(); String query="SELECT nom,prenom FROM `etudiant` WHERE matricule=?;"; PreparedStatement p=con.prepareStatement(query); p.setString(1, matricule); ResultSet rs; rs=p.executeQuery(); LinkedList tab=new LinkedList(); while(rs.next()){ String resultat="nom de l'etudiant est: "+rs.getString("nom")+","+"Son prenom est: "+rs.getString("prenom")+"\n"; tab.add(resultat); } return tab; //System.out.println("connection etablie"); } public static void main(String[] args) throws Exception { // TODO Auto-generated method stub C3 c=new C3(); reg=LocateRegistry.createRegistry(port); System.out.println("registre crée"); reg.rebind("r3", c); } }
Partager