2017-07-12 5 views
0

Beim Aufrufen der gespeicherten Prozedur ist ein Fehler aufgetreten. Die gespeicherte Prozedur wird in MySQL geschrieben und der Aufruf wird von meinem Computer an den MySQL Server gesendet.hjava.sql.SQLException Parameterindex von 20 liegt außerhalb des Bereichs (1, 0)

//this is my code to call the procedure 
try { 
    CallableStatement cStmt = con.prepareCall("{call beta.Pr_branch_master(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}"); // my procedure name 

    cStmt.setString(1,"N"); 
    cStmt.setString(2, tranDate); 
    cStmt.setInt(3,0); 
    cStmt.setString(4, branchStartDt); 
    cStmt.setInt(5, Integer.parseInt(orgMstID)); 
    // cStmt.setInt(4,Types.INTEGER); 
    cStmt.setString(6, brType); 
    cStmt.setString(7, branchName); 
    cStmt.setString(8, address); 
    cStmt.setString(9, area); 
    cStmt.setString(10, city); 
    cStmt.setString(11, state); // these are my parameters to be inserted into the table 
    cStmt.setString(12, pinCode); 
    cStmt.setString(13, phoneNo); 
    cStmt.setString(14, mobileNo); 
    cStmt.setString(15, emailID); 
    cStmt.setString(16, regCode); 
    cStmt.setString(17, activeFlag); 
    cStmt.setInt(18, 1); 
    cStmt.setString(19, enterDesc); 
    // cStmt.registerOutParameter(19,Types.INTEGER); 
    // cStmt.setString(19,branchMstID); 
    // cStmt.setInt(19, 0); 
    System.out.println("cstmt before out>>>>"+cStmt); 
    cStmt.registerOutParameter(20, Types.INTEGER); 

    boolean b = cStmt.execute();// executing the statement 
    System.out.println("b "+b+" :"+cStmt); 
    primaryKey = cStmt.getInt(20); 
    System.out.println("str "+primaryKey); 

    if(primaryKey > 0){ 
     /*dbResult = "success"; 
     result.setStatus(dbResult);*/ 
     result.setMsg("Record Save Successfully."); 
    } else { 
     /*dbResult = "error"; 
     result.setStatus(dbResult);*/ 
     result.setMsg("Record Not Save."); 
    } 
} catch (Exception e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
return result; 

// I'm getting an error message while calling the stored procedure 
+0

Was ist MySQL-Jar-Version, die verwendet wird? Kannst du mysql jar version mit einem späteren ändern? –

+0

Code Neuformatierung, Sätze Verbesserungen –

Antwort

0

Meine SQL-Connector-JAR-Datei war nicht kompatibel. zuvor mit 5.01 jetzt mit 5.12

Verwandte Themen