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) ;
                }
                }                    
                    
                    ......