2014-03-26 22 views
0
create procedure dat(
@d datetime, 
@e datetime, 
@LEFT datetime, 
@day int) 
as 
begin 
set @d=(SELECT (DATEADD(WEEK, DATEDIFF(WEEK, 0,DATEADD(DAY,6-DATEPART(DAY,GETDATE()),GETDATE())), 0) +28)) 
set @e=(select SYSDATETIME()) 
SET @[email protected]@e; 
set @day=(select DAY(@LEFT)) 
select region,cast((((TOTAL*55)/100)-(CAST((SUM(EMI)/100) AS DECIMAL(2,2))+CAST((SUM([REPO ARREAR])/100) AS DECIMAL(2,2))))/@day as decimal(3,3)) DRR from DCC GROUP BY TOTAL ,CIRCLE ,REGION ORDER BY CIRCLE,REGION 
end 

這是我的程序。我正在使用SQL Server 2008編寫此程序。如何在jsp中調用procudure

try 
{ 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Repo;user=sa;password=sam123;"); 
String SQL=("{call [DCR].[dbo].[dat]()}"); 
CallableStatement cs = con.prepareCall(SQL); 
rss=cs.executeQuery(); 
while(rss.next()) 
{ 
float day=rss.getFloat(2); 
} 
} 
catch(Exception e){ 
} 

這是我的jsp代碼。我沒有在ResultSet中獲得值。請幫幫我。

+0

在JSP中不調用代碼用Java來完成。瞭解MVC和servlet等。 –

+0

也不會默默地忽略異常 - 你是一個壞男孩。 –

+0

給我一些與我的主題相關的示例鏈接,我可以學習 – user2866575

回答

0

你不能調用JSP從一個過程,這是不是做的方式it..It需要如下

CallableStatement sqlCallStmt = null; 
sqlCallStmt = connection.prepareCall("{call Time(?,?)}") 
sqlCallStmt.registerOutParameter(1, java.sql.Types.VARCHAR); 
sqlCallStmt.setString(2,test); 
sqlCallStmt.execute();