我在sqlserver2005里创建了一个存储过程如下:create proc getSubDir(@id nvarchar(36))
as
SET NOCOUNT ON
declare @tableRt table(id nvarchar(36),[name] nvarchar(256),PARENTID nvarchar(36),COUNTRES int)
insert @tableRt
select folder.PROJECTID,folder.[NAME],folder.PARENTID,
(select COUNT(res.PROJECTID) from COM_PROJECTRESOURCE res
where folder.PROJECTID = res.PROJECTID)
from COM_PROJECT folder
where PARENTID = @id AND folder.[TYPE] = 0
while @@rowcount > 0
insert @tableRt
select subfolder.PROJECTID,subfolder.[NAME],subfolder.PARENTID,
(select COUNT(subres.PROJECTID) from COM_PROJECTRESOURCE subres
where subfolder.PROJECTID = subres.PROJECTID)
from COM_PROJECT as subfolder
inner join @tableRt as parentfolder
on subfolder.PARENTID = parentfolder.id
and subfolder.PROJECTID not in(select id from @tableRt)
select * from @tableRt
GO现在可以确认的是存储过程是正确的,在查询分析器里也能返回结果,但是我通过jdbc调用这个存储过程时如下:
CallableStatement statement = IMAM2DAO.conn.prepareCall("{call getSubDir(?)}");
statement.setString(1, "参数");
statement.executeQuery();
ResultSet rs = statement.getResultSet();
系统总是报:该语句没有返回结果集。
我也试过使用execute()的方式,也是得不到返回的select结果集,请问如何得到结果?
as
SET NOCOUNT ON
declare @tableRt table(id nvarchar(36),[name] nvarchar(256),PARENTID nvarchar(36),COUNTRES int)
insert @tableRt
select folder.PROJECTID,folder.[NAME],folder.PARENTID,
(select COUNT(res.PROJECTID) from COM_PROJECTRESOURCE res
where folder.PROJECTID = res.PROJECTID)
from COM_PROJECT folder
where PARENTID = @id AND folder.[TYPE] = 0
while @@rowcount > 0
insert @tableRt
select subfolder.PROJECTID,subfolder.[NAME],subfolder.PARENTID,
(select COUNT(subres.PROJECTID) from COM_PROJECTRESOURCE subres
where subfolder.PROJECTID = subres.PROJECTID)
from COM_PROJECT as subfolder
inner join @tableRt as parentfolder
on subfolder.PARENTID = parentfolder.id
and subfolder.PROJECTID not in(select id from @tableRt)
select * from @tableRt
GO现在可以确认的是存储过程是正确的,在查询分析器里也能返回结果,但是我通过jdbc调用这个存储过程时如下:
CallableStatement statement = IMAM2DAO.conn.prepareCall("{call getSubDir(?)}");
statement.setString(1, "参数");
statement.executeQuery();
ResultSet rs = statement.getResultSet();
系统总是报:该语句没有返回结果集。
我也试过使用execute()的方式,也是得不到返回的select结果集,请问如何得到结果?
解决方案 »
- 在spring quartz 如何控制两个调度任务的自动
- struts2中如何使用Ajax完成页面信息动态显示?
- 提问:多线程测试服务器性能的一个问题
- 怎么可以在tomcat重启的时候保存内存的内容?!
- 在Tomcat服务器里怎么显示html?
- Jbuider+Jboss的问题
- JBX如何安装Tomcat5,我知道JB9的安装很容易,但JBX该如何安装Tomcat5呢?在JBX中tools --> Configure Servers的对话框中无Tomcat服务,而
- j2ee SDK 还是J2 SDK EE
- 学J2EE要有什么JAVA基础,麻烦给个J2EE学习路线,最好附推荐图书,谢谢
- jar包中的类如何读取到spring配置文件的属性
- java ee 编程思想 download
- 权限管理最佳实践:一,登录控制
这样试试