Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java sql server 2008,用于获取多个查询的PreparedStatement jdbc_Java_Sql Server 2008_Jdbc - Fatal编程技术网

Java sql server 2008,用于获取多个查询的PreparedStatement jdbc

Java sql server 2008,用于获取多个查询的PreparedStatement jdbc,java,sql-server-2008,jdbc,Java,Sql Server 2008,Jdbc,给出错误:com.microsoft.sqlserver.jdbc.SQLServerException:语句未返回结果集 存储过程 java代码 该语句未返回结果集 这是真的。程序 创建过程获取详细信息 ( @n varchar(50)OUT, @c varchar(50)OUT, @我指出 )作为 开始 从product中选择@n=product.name、@c=product.code、@i=product.id; 结束; 不会返回结果集。它将仅从表的一行(SELECT语句返回的最后一行

给出错误:com.microsoft.sqlserver.jdbc.SQLServerException:语句未返回结果集

存储过程 java代码 该语句未返回结果集

这是真的。程序

创建过程获取详细信息
(
@n varchar(50)OUT,
@c varchar(50)OUT,
@我指出
)作为
开始
从product中选择@n=product.name、@c=product.code、@i=product.id;
结束;
不会返回结果集。它将仅从表的一行(SELECT语句返回的最后一行)返回三个标量输出参数值。如果希望存储过程返回结果集,则

ALTER过程获取详细信息
作为
开始
从产品中选择product.name、product.code、product.id;
结束;
然后使用这个Java代码

CallableStatement stmt=con.prepareCall(“{call getDetails}”); ResultSet ResultSet=stmt.executeQuery(); while(resultSet.next()){ System.out.println(“ProductName:+resultSet.getString(1)); System.out.println(“产品代码:+resultSet.getString(2)); System.out.println(“ProductID:+resultSet.getInt(3)); }
如果要获得结果集,可以使用
从产品中选择product.name、product.code、product.id
。使用它的方式是用“随机”行值填充变量,而不是创建结果集。
CREATE  PROCEDURE getDetails(@n varchar(50) OUT,@c varchar(50) OUT,@i INT OUT)
as
BEGIN 
SELECT @n=product.name,@c=product.code,@i=product.id FROM  product;
END;
 try
    {
            Connection con =LoginConnection.getConnection();
    CallableStatement stmt=con.prepareCall("{call getDetails(?,?,?)}");

    stmt.registerOutParameter(1, Types.VARCHAR);
            stmt.registerOutParameter(2, Types.VARCHAR);
            stmt.registerOutParameter(3, Types.INTEGER);
            ResultSet resultSet = stmt.executeQuery();
            while(resultSet.next())
            {
               System.out.println("value 1:"+resultSet.getString(1));
               System.out.println("value 2:"+resultSet.getString(2));
               System.out.println("Value 3:"+resultSet.getInt(3));
            }

         con.close(); 
    }
    catch(Exception e)
    {
           System.out.println("ex:"+e); 
    }