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(); } } } }
If you're just beginning to learn Java GUI programming creating an Water System Calculator is a fantastic project for…
GitHub is a powerful tool used by teams and developers around the globe. This guide is…
It's like having a super-smart buddy that is always there to help you write stories,…
The UK is known for its rich history, diverse culture, and most of all its…
Do you have a plan for your next holiday? Being aware of the Bank Holidays within the…
The world is rapidly changing of software development AI-assisted tools for coding have become the main focus. As…