在jdbc中调用存储过程

时间:2011-09-26 06:46:43

标签: java android stored-procedures jdbc

我正在开发Android应用程序。我正在使用sql sever 2008数据库来存储和检索数据。现在我在jbdc中调用存储过程。 Here is the code。现在它给了我Exception,它在3处说无效列索引。我在其他地方使用相同的代码,工作正常。 Bt不知道为什么在这里工作。如果您有任何想法,请给出适当的建议。谢谢。

我刚刚发现String dat = rs.getString(3);正在执行它显示上述异常。我告诉你,在存储过程中它是datetime。但它执行得很好。任何建议都对我有帮助。

Here is the stored Procedure

1 个答案:

答案 0 :(得分:2)

通过查看您的java代码,您的参数似乎是OUT或INOUT参数。如果是这种情况,您可能需要注册它们,以便从中获取数据。

例如

cst.setInt(1,userId);
cst.setLong(2,taskId);
cst.setString(3, date);

cst.registerOutParameter(1, Types.NUMERIC);
cst.registerOutParameter(2, Types.NUMERIC);
cst.registerOutParameter(3, Types.VARCHAR);

rs = cst.executeQuery();

希望这可以解决您的问题。