java - 在jdbc中调用存储过程

标签 java android stored-procedures jdbc

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

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

Here is the stored Procedure

最佳答案

从你的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();

希望这能解决您的问题。

关于java - 在jdbc中调用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551490/

相关文章:

java - SqlDelight 不为 SQL 语句生成 SQL 查询字符串

mysql - 为什么 mySQL DROP TABLE 不起作用?

java - UI (Angularja) 和 Java WS 之间的安全性

java - 尝试输入带空格的字符串时 SQLite 崩溃

java - NullPointerException - 尝试调用虚拟方法 `notifyDataSetChanged()`

java - 在 Android studio 中使用 Clipdrawable 时提高动画速度?

mysql - 错误 : Unknown Column cnt in 'field list' - mysql stored preocedure

java - 如何清除/删除游戏框架中(功能)测试的数据库内容

java - JOOQ 使用转换器将字符串转换为枚举

android - 覆盖流机器人 :how to get images from a url in the coverflow