Callable statement consist of three parameters we used the form with a result parameter, which means that we must set it as an OUT parameter.
To clarify I have numbered the parameters:
Authors is Stored procedure name it takes three parameters.i clearly explain below.
{call authors(?,?,?)}
1 2 3
In out
CREATE PROCEDURE authors (p_auth_id varchar(15), OUT p_auth_fname varchar(20), OUT p_auth_lname varchar(20))
Above example takes the first one in IN parameter, the second and third are OUT parameters and returns a result.
Therefore the correct way to call it is:
Create a CallableStatement object to call the store procedure.
CallableStatement stat1 = con.prepareCall(“{call authors(?,?,?)}”);
CallableStatement stat1 = con.prepareCall("{call authors(?,?,?)}"); stat1.setString(1, "1"); stat1.registerOutParameter(2,Types.VARCHAR); stat1.registerOutParameter(3,Types.VARCHAR);
Parameter 1 is an IN-only parameter the stored procedure doesn’t return any other value besides the OUT-parameters.
To read the result from the OUT-parameters we also have to adapt the parameter numbers:
System.out.println(stat1.getString(2)); System.out.println(" "); System.out.println(stat1.getString(3));
import java.sql.*; public class JdbcFind { public static void main(String[] args) { Connection con=null; try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/abclibrary", "root",""); CallableStatement stat1 = con.prepareCall("{call authors(?,?,?)}"); stat1.setString(1, "2"); stat1.registerOutParameter(2,Types.VARCHAR); stat1.registerOutParameter(3,Types.VARCHAR); stat1.execute(); System.out.println(stat1.getString(2)); System.out.println(" "); System.out.println(stat1.getString(3)); } catch(ClassNotFoundException cle) { System.out.println("check your jdbc connection" ); } catch(SQLException sqe) { System.out.println("Check connection" +sqe); } finally { try{ if(con != null) con.close(); } catch(Exception e) { e.printStackTrace(); } } } }
Introduction to Grocery Inventory Apps Managing grocery inventory can be a daunting task, but with…
This article explain how to make a Fish Inventory Management App in Angular.this app explain…
Introduction to Fish Inventory Management In the aquaculture industry, managing fish inventory is crucial for…
Introduction to Java GUI CRUD Java is a powerful programming language widely used for building…
Introduction to Login Form Design Designing an effective and beautiful login form is crucial for…
Introduction In today creating a responsive login form is essential for providing a seamless user…