在JDBC调用存储过程的出现的问题
CREATE PROCEDURE UserSign
AS
declare @start DATETIME
declare @end DATETIME
declare @start1 DATETIME
set @start=CAST( '2007-07-06 ' AS DATETIME)
set @end=CAST( '2007-07-31 ' AS DATETIME)
while(@start <=@end)
BEGIN
set @start1=DATEADD(day,1,@start)
select * from UserTable ut left outer join (select * from [PersonSignIn/OutTable]
where SignTimeM > = @start AND SignTimeM <= @start1) pt on ut.UserId=pt.SignPersonId
set @start=DATEADD(day,1,@start)
if(@start> @end)
break
else
continue
end
=========================================
存储过程创建完后
用
cstmt = con.prepareCall( "{call "+procStr+ "} ");
ResultSet rs =rs = cstmt.executeQuery();得到了结果只显示了第1组数据(存储过程执行结果集的第1个循环的数据)其他的循环的数据没有得到
(在查询分析器里运行存储过程显示的是多个循环的数据)
请问各位如何解决
------解决方案--------------------你这个存储过程是sql server里的存储过程吧?
你应该把循环查询的结果合到一个结果集里。