0
create procedure school_dmo.stud(in bk_cd char(10))
select  bank_cd,bank_nm ,branch_cd,bank_hnm ,user_cd ,update_dt,update_flag, branch_nm ,city_nm 
from bankmst 
;

错误:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '()' at line 1"

.jsp 文件

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"         
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    Connection con = null; 
    CallableStatement cstmt=null;
    String BatchCode=request.getParameter("bank_cd");


 try {
            cstmt=con.prepareCall("{call stud(?)}");
            cstmst.setString(1,bank_cd);
            cstmt.registerOutParameter(2, Types.INTEGER);     
            cstmt.executeUpdate(); 
            int val = cstmt.getInt(3);

   if (val == 1) {
   out.println("<h2 align='center'> bank_cd Successfully added</h2>");
   }
   else {
   out.println("<h2 align='center'>  bank_cd already Exists</h2>");

   }
   }
   catch(Exception e){
   e.printStackTrace();
   }
   finally {
   cstmt.close();
   con.close();
   }


</body>
</html>
4

1 回答 1

0

我的一个程序中的示例:

程序声明

create procedure countLeftChildren(in parent_id int,out RightChildren int)...

调用代码

            String call = "{call countLeftChildren(?,?)}";
            CallableStatement callableStatement = connection.prepareCall(call);
            callableStatement.setInt(1, u.getIdsoftuser());
            callableStatement.registerOutParameter(2, java.sql.Types.INTEGER);
            callableStatement.executeUpdate();
            int children = callableStatement.getInt(2);

registerOutParameter (index,type) - index : 在过程声明中声明变量的编号(创建代码)。在上面的例子中,它是第二个变量。

您的代码是错误的,因为在您的过程声明中没有定义 OUT 参数

cstmt.registerOutParameter(2, Types.INTEGER);

create procedure school_dmo.stud(in bk_cd char(10)) - Only one parameter and that 
is a IN parameter

另一个非常好的例子。

于 2013-08-11T02:10:00.573 回答