jsp调用sql server 2000存储过程的问题。
我现在写了个存储过程:
CREATE PROCEDURE spWWWClear
@YearMonth varchar(8) --费用年月
AS
declare @Ynum int,@Wnum int
if isnull(@YearMonth,'')=''
set @YearMonth=cast(year(getdate())*100+month(getdate()) as varchar(8))
select isnull(clTotal1,0)+isnull(clTotal2,0)+isnull(clTotal3,0) as Total,isnull(clTotal1,0) clTotal1,isnull(clTotal2,0) clTotal2,isnull(clTotal3,0) clTotal3 into #temp1 from ClearRate where clYearMonth=cast(@YearMonth as int) and clPayed=0
select isnull(clTotal1,0)+isnull(clTotal2,0)+isnull(clTotal3,0) as Total,isnull(clTotal1,0) clTotal1,isnull(clTotal2,0) clTotal2,isnull(clTotal3,0) clTotal3 into #temp2 from ClearRate where clYearMonth=cast(@YearMonth as int) and clPayed=1
select @Ynum=count(*)from #temp1
select @Wnum=count(*)from #temp2
select '未收' as 状态,@Ynum 户数,sum(clTotal1) 费用一,sum(clTotal2) as 费用二,sum(clTotal3) as 其他费,sum(Total) as 总金额 from #temp1
union all
select '已收' as 状态, @Wnum 户数,sum(clTotal1) 费用一,sum(clTotal2) as 费用二,sum(clTotal3)as 其他费,sum(Total) as 总金额 from #temp2
GO
我想在jsp中调用这个存储过程,该怎么调用呢?
想在jsp中显示下面的内容:
状态 户数 费用一 费用二 其他费 总金额
未收 5190527930.2000731029.0000.00001258959.2000
已收 141396211.2000149832.0000.0000246043.2000
[解决办法]
用 jdbc 像执行 select 语句一样直接该存储过程,反正它返回的也是 记录集
CallableStatement cmt= conn.prepareCall("{call spWWWClear (?) }");
cmt.setString(1,YearMonth);//输入
ResultSet rs= cmt.executeQuery();
String str= cmt.getString(0);//获取输出值
[解决办法]
帮顶
[解决办法]
学习下,初学jsp~
[解决办法]
学习 顶
[解决办法]
关注学习!
[解决办法]
帮顶,没用过sqlserver........
[解决办法]
很少用到CallableStatement 用PreparedStatement用的比较多
学习了帮顶下
[解决办法]
关注 帮顶
[解决办法]
帮顶
[解决办法]
调用存储过程,也就只有用CallableStatement
你说的那1,2,3,4,5,6 那几个就是代表你的输出参数,你在过程里面定义了6个
你在查询分析器里面执行
exec spWWWClear 日期
看看显示结果是什么样的? 如果是
状态 户数 费用一 费用二 其他费 总金额
未收 5190 527930.2000 731029.0000 .0000 1258959.2000
已收 1413 96211.2000 149832.0000 .0000 246043.2000
这样的记录?
那就不用输出参数,用结果集来接收,然后显示。
[解决办法]
调用代码:
public ResultSet getData(String queryString) { ResultSet rs = null; try { cst = conn.prepareCall(queryString); cst.executeQuery(); return rs = cst.getResultSet(); } catch (Exception ex) { System.out.print("调用存储过程时发生错误!:" + ex.toString()); return rs; } }
[解决办法]
关注 学习
[解决办法]
不懂存储过程。
[解决办法]