Bonjour,
on est entraint de créer une Java Stored Procedure pour l'identification dans une application java.
On a également créé une procedure afin de pouvoir la lancer. Notre problème est qu'on voudrait récupérer ce que la JSP renvoi, mais on ne sait pas du tout comment !
on a essayé avec des getInt(), etc... mais rien à faire....
Voici les différentes sources:
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 CREATE OR REPLACE JAVA SOURCE NAMED "Login" AS public class Login { public static void autorise(String nom, String mdp, int b) { java.lang.String requeteMdp = new String(); java.lang.String url = "jdbc:default:connection"; java.sql.Connection conn ; java.sql.Statement stmt ; try{ conn = java.sql.DriverManager.getConnection(url); stmt = conn.createStatement(); java.sql.ResultSet rs = stmt.executeQuery("SELECT mdp FROM personne WHERE nomPersonne='" + nom +"'"); while(rs.next()) { requeteMdp = rs.getString("mdp") ; } stmt.close(); conn.close(); } catch(java.sql.SQLException e) { System.out.println("Erreur SQL:"); } if(mdp.compareTo(requeteMdp)!=0) { b= 0; } else b= 1; } }; /
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE OR REPLACE PROCEDURE myLogin(name VARCHAR2, mot VARCHAR2, b NUMBER ) AS LANGUAGE JAVA NAME 'Login.autorise(java.lang.String, java.lang.String, int)'; /
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 public void actionPerformed(ActionEvent event) { int b = 0; nomUtilisateur = JOptionPane.showInputDialog( "Veuillez rentrer votre nom d'utilisateur"); String requeteMdp = new String() ; try { ResultSet rs = stmt.executeQuery("select * from personne where nompersonne='" + nomUtilisateur + "'") ; while (rs.next()) { requeteMdp = rs.getString("mdp") ; } } catch (SQLException e) { System.out.println("Erreur sql") ; } String mdp = new String() ; if (nomUtilisateur!=null) mdp = JOptionPane.showInputDialog( "Veuillez rentrer votre mot de passe"); try { ResultSet rs = stmt.executeQuery("call myLogin('" + nomUtilisateur + "','" + mdp + "'," + b + ")") ; while (rs.next()) { res = rs.getInt(3) ; } } ......
Partager