使用jdbc怎样获得一个sql存储过程的返回值 使用jdbc怎样获得一个sql存储过程的返回值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ??? public List getDailyEScheduleInfo(int deptcode,ProcReturn p){????? List alllist=new ArrayList();????? Connection conn = null;????? CallableStatement stmt = null;????? ResultSet rs = null;????? String lsstr="";????? try{??????? db_sqlserver dataAccess = new db_sqlserver();??????? conn = dataAccess.getConnection();??????? //准备SQL语句??????? String strSQL = "{call SP_GetDeptRegInfo(?)}";??????? //准备可调用语句对象??????? stmt = conn.prepareCall(strSQL);??????? stmt.setInt(1,deptcode);??????? //执行该存储过程并返回结果集??????? stmt.execute();??????? //得到字段字符串列表,格式为 [字段1][字段2][字段3]??????? rs = stmt.getResultSet();??????? ResultSetMetaData md = rs.getMetaData();??????? int rsCount = md.getColumnCount();??????? if (!(rsCount==0)){??????? lsstr = String.valueOf((rsCount-7)/2)+"|";??????? }??????? Boolean isExec = Boolean.FALSE;??????? while (rs.next()){??????????? Map map = new HashMap();??????????? for (int i = 1; i <= rsCount; i++){????????????? map.put(md.getColumnName(i), rs.getObject(i));????????????? //得到动态增加的字段列表????????????? if ((i>7) & !isExec){???????????????? if (!(md.getColumnName(i).indexOf("名称") >0)){???????????????? lsstr=lsstr+md.getColumnName(i)+"|";}????????????? }??????????? }??????????? alllist.add(map);??????????? isExec = Boolean.TRUE;??????? }?????? p.setVarchar(lsstr);?????? //获取返回的结果集???? }catch(SQLException ex){?????????? ex.printStackTrace();??????? }finally{??????? try{????????? rs.close();????????? stmt.close();????????? conn.close();??????? }catch(SQLException ex1){??????? }????? }????? return alllist;???? } 请教关于Flash中代码问题AS JSP页面跳转 关于iframe取值问题 刚学,请问各位这是什么错误? 请问struts logic 标签 的问题...???? 如何声明变量 Jsp网页里可不可以同时有VBScript、JavaScript或者JScript? 谁有HTML编辑器?给我一个呀? 关于Tomcat连接池会话回收的问题. 100分求救:jsp中调用Bean jsp标签库类获取JSF bean的值怎么做 请教大虾们应该如何将存储过程从SQL SERVER中引导出来。
????? List alllist=new ArrayList();
????? Connection conn = null;
????? CallableStatement stmt = null;
????? ResultSet rs = null;
????? String lsstr="";
????? try{
??????? db_sqlserver dataAccess = new db_sqlserver();
??????? conn = dataAccess.getConnection();
??????? //准备SQL语句
??????? String strSQL = "{call SP_GetDeptRegInfo(?)}";
??????? //准备可调用语句对象
??????? stmt = conn.prepareCall(strSQL);
??????? stmt.setInt(1,deptcode);
??????? //执行该存储过程并返回结果集
??????? stmt.execute();
??????? //得到字段字符串列表,格式为 [字段1][字段2][字段3]
??????? rs = stmt.getResultSet();
??????? ResultSetMetaData md = rs.getMetaData();
??????? int rsCount = md.getColumnCount();
??????? if (!(rsCount==0)){
??????? lsstr = String.valueOf((rsCount-7)/2)+"|";
??????? }
??????? Boolean isExec = Boolean.FALSE;
??????? while (rs.next()){
??????????? Map map = new HashMap();
??????????? for (int i = 1; i <= rsCount; i++){
????????????? map.put(md.getColumnName(i), rs.getObject(i));
????????????? //得到动态增加的字段列表
????????????? if ((i>7) & !isExec){
???????????????? if (!(md.getColumnName(i).indexOf("名称") >0)){
???????????????? lsstr=lsstr+md.getColumnName(i)+"|";}
????????????? }
??????????? }
??????????? alllist.add(map);
??????????? isExec = Boolean.TRUE;
??????? }
?????? p.setVarchar(lsstr);
?????? //获取返回的结果集
???? }catch(SQLException ex){
?????????? ex.printStackTrace();
??????? }finally{
??????? try{
????????? rs.close();
????????? stmt.close();
????????? conn.close();
??????? }catch(SQLException ex1){
??????? }
????? }
????? return alllist;
???? }