首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

调用存储过程后的返回值,该如何解决

2011-12-29 
调用存储过程后的返回值如下这个存储过程(sql2000)createPROCEDUREaasdeclare@strvarchar(1000)set@str s

调用存储过程后的返回值
如下这个存储过程(sql2000)

create   PROCEDURE   a
as  
declare   @str   varchar(1000)
set   @str= 'select   *   from   table '
exec(@str)

要怎样才能取得这个存储过程中exec(@str)里的值....

也就是说这个存储过程执行的时候会从table中取出所有值..

那我在java程序中调用这个存储过程怎样取里面所有的值

[解决办法]
mssql存储过程可以直接返回结果集:

String sql = "{call a()} ";
CallableStatement proc = conn.prepareCall(sql);
ResultSet rs = proc.executeQuery();

rs就是你所要的。
[解决办法]
給你個帶參數的例子

String str = "{call GetRecordFromPageU(?,?,?,?,?,?,?)} ";
CallableStatement sqlstmt=conn.prepareCall(str);
sqlstmt.setString(1, "cmm_V_shop_import_cal ");
sqlstmt.setString(2, "id ");
sqlstmt.setInt(3,15);
sqlstmt.setInt(4,curp);
sqlstmt.setInt(5,0);
sqlstmt.setInt(6,1);
sqlstmt.setString(7,where);
sqlstmt.execute();
rs=sqlstmt.getResultSet();

热点排行