Hibernate 调用存储过程 该语句没有返回结果集 10

以下是调用存储过程的语句,存储过程有返回值(功能是插入功能,通过return返回值为整数),但是代码报错publicintsaveStoredProcedure(fina... 以下是调用存储过程的语句 ,存储过程有返回值(功能是插入功能 ,通过return返回 值为整数),但是代码报错
public int saveStoredProcedure(final String Table,final String Type)
{
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException
{
SQLQuery sqlQuery = session.createSQLQuery("{call InsertedProcedure(?,?)}");
sqlQuery.setString(0, Table);
sqlQuery.setString(1, Type);
sqlQuery.executeUpdate();
List L=sqlQuery.list();

return L.get(0);
}
});
return -2;
}
错误信息:
SEVERE: Exception occurred during processing request: Hibernate operation: could not execute query; uncategorized SQLException for SQL [{call InsertedProcedure(?,?)}]; SQL state [null]; error code [0]; 该语句没有返回结果集。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。

请问该怎么解决???
展开
 我来答
百度网友770d418
推荐于2018-04-13 · TA获得超过200个赞
知道答主
回答量:74
采纳率:100%
帮助的人:25.2万
展开全部
修改存储过程试试:
alter procedure test()
as
SET NOCOUNT ON --加上这句话;有的出现这个问题,加上之后问题解决了;嘿嘿
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eastlife81
2013-11-13 · TA获得超过348个赞
知道小有建树答主
回答量:772
采纳率:0%
帮助的人:385万
展开全部
Session session =HibernateSessionFactory.getSession();
Connection conn = session.connection();
ResultSet rs =null;
CallableStatement call = conn.prepareCall("{Call procedure()}");
rs = call.executeQuery();
rs.close();
session.close();
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-13
展开全部
把输出的参数注册成输出
追问
没用额  增加了OUTPUT 也不行 还是报那个错误
追答
java.sql.CallableStatement

void
registerOutParameter(int parameterIndex, int sqlType)
Registers the OUT parameter in ordinal position
parameterIndex to the JDBC type
sqlType.

void
registerOutParameter(int parameterIndex, int sqlType, int scale)
Registers the parameter in ordinal position
parameterIndex to be of JDBC type
sqlType.

void
registerOutParameter(int parameterIndex, int sqlType, String typeName)
Registers the designated output parameter.

void
registerOutParameter(String parameterName,
int sqlType)
Registers the OUT parameter named
parameterName to the JDBC type
sqlType.

void
registerOutParameter(String parameterName, int sqlType, int scale)
Registers the parameter named
parameterName to be of JDBC type
sqlType.

void
registerOutParameter(String parameterName,
int sqlType,
String typeName)
Registers the designated output parameter.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式