java - 从 Java 调用 SQL Server 2008 存储过程

标签 java sql-server sql-server-2008 jakarta-ee

我在 SQL Server 2008 中创建了以下存储过程

Create PROCEDURE countInfected @infected int out
AS
Select @infected = COUNT(*) from userInfo where userID NOT IN (Select userID from deletedInfo);

我的java代码如下

CallableStatement infected = con.prepareCall("exec countInfected()");
infected.registerOutParameter(1, java.sql.Types.INTEGER);
infected.execute();
    System.out.println("Infected"+ infected.getInt(1));

但它会生成以下错误

java.lang.NullPointerException at core.dtable.Dbase.stored(Dbase.java:51)

请指导我哪里错了

最佳答案

     try {
        conn     = DBConnection.SQLDB();
        conn.setAutoCommit(false) ;
        CallableStatement cs = null;
        cs = conn.prepareCall("{call dbo.xxCount(?)}");
        cs.registerOutParameter(1, java.sql.Types.INTEGER);
        cs.execute() ;
        System.out.println("INFECTED "+cs.getInt(1));
    }catch (Exception err){

在调用存储过程时输出参数。

关于java - 从 Java 调用 SQL Server 2008 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17228988/

相关文章:

java - 无法读取格式为 application/json 的整个 POST 请求正文内容

java - Hazelcast ScheduledExecutorService 回调

java - 我如何比较java中没有格式和数据差异标题的csv

sql-server - Mongodb ObjectId 生成器作为 SQL Server proc

sql - 如何检索一个月后年龄为 21 岁的所有员工?

SQL Server 2008 datetime类型时间比较

java - 如何推迟事件触发/接收

sql-server - 数据库中的日期时间数据类型可以有 NULL 值吗?

sql - 从另一个表中选择范围之间的记录

sql-server - 如何使用 SQL Server 中的隐藏数据库对象?