调用存储过程后的返回值
如下这个存储过程(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();