【发布时间】:2013-06-20 13:43:23
【问题描述】:
我有一个返回一个输出参数的 SQL Server 2008 过程,我正在从 java 中调用它。我的代码如下
存储过程代码是
Create PROCEDURE countInfected @infected int out
AS
Select @infected = COUNT(*) from userInfo
where userID NOT IN (Select userID from deletedInfo);
Java 调用代码是
CallableStatement infected = null;
infected = con.prepareCall("call countInfected(?)");
infected.registerOutParameter(1, java.sql.Types.INTEGER);
infected.execute();
System.out.println("Infected"+ infected.getInt(1));
但是被感染了.execute();正在生成以下错误
com.microsoft.sqlserver.jdbc.SQLServerException:“@P0”附近的语法不正确
请指导我哪里有问题
【问题讨论】:
-
这对你有什么好处:groups.google.com/forum/#!msg/mybatis-user/DxLHOn8LZU0/… ??基本上把大括号放在周围,像这样“{ call countInfected(?) }”(我的 SQL Server 已经烤过了,所以我无法检查)。
-
感谢 dats 对我有用
标签: java sql-server sql-server-2008 jdbc