Java 执行存储过程时出错
我已经编写了一个调用过程,但是抛出了一个异常,请看我的代码:Java 执行存储过程时出错,java,exception-handling,procedures,Java,Exception Handling,Procedures,我已经编写了一个调用过程,但是抛出了一个异常,请看我的代码: try { connection myconn = Database.Get_Connection(); CallableStatement mystmt =null; mystmt = myconn.prepareCall("{? =call proc_hi_check_user(?,?)}"); mystmt.setString(1,name); mystmt.setString(2
try
{
connection myconn = Database.Get_Connection();
CallableStatement mystmt =null;
mystmt = myconn.prepareCall("{? =call proc_hi_check_user(?,?)}");
mystmt.setString(1,name);
mystmt.setString(2,"");
mystmt.execute();
param1 = mystmt.getInt(1);
ResultSet myrs = mystmt.getResultSet();
while(myrs.next())
{
System.out.println("inside");
System.out.println(myrs.getInt(1));
//result=myrs.getString(1);
}
} catch (Exception e)
{
System.out.println("db connection not connected");
}
从您在评论中所说的,您似乎缺少一个sql函数“proc_pandu_check_user”
检查“proc_hi_Check_user”的主体,它应该在某个地方调用此proc_pandu_Check_user,它可能缺少或具有错误的参数列表。尝试执行以下代码:
try
{
connection myconn = Database.Get_Connection();
CallableStatement mystmt =null;
mystmt = myconn.prepareCall("{? =call proc_hi_check_user(?,?)}");
mystmt.registerOutParameter(1, java.sql.Types.OTHER);
mystmt.setString(2,name);
mystmt.setString(3,"");
mystmt.execute();
param1 = mystmt.getInt(1);
ResultSet myrs = mystmt.getResultSet();
while(myrs.next())
{
System.out.println("inside");
System.out.println(myrs.getInt(1));
//result=myrs.getString(1);
}
} catch (Exception e)
{
System.out.println("db connection not connected");
}
您必须检查异常消息。尝试
System.out.println(e.getMessage())代码>不执行mystmt.execute();我正在获取此错误函数pandu_data.proc_pandu_check_用户不存在我有数据库连接,请检查以上所有代码,但我无法获取