sqlserver是这样调用的:
------------------------
go
exec dbo.DbInfo 8000,30000,''
------------------------
可以查询出数据集
java中action里的代码如下:
String procName="{Call dbo.DbInfo(?,?,?) }";
SQLQuery sqlquery = sess.createSQLQuery(procName);
sqlquery.setInteger(0, 8000);
sqlquery.setInteger(1, 30000);
sqlquery.setString(2, "");
List<?> list = null;
list = sqlquery.list();
我用hibernate里的Session查询了一个sql语句是没问题的。
-----------------各种搜都没有结果 ==============
存储 Hibernate java
------解决方案--------------------
改为String procName="{Call DbInfo(?,?,?)}";看看
------解决方案--------------------
你那肯定不行了,createSQLQuery是执行SQL语句的。
应该这样:
CallableStatement call = conn.prepareCall("{Call getLogPageData(?,?)}");
call.setString(1, tempSql);
call.setString(2, listsql);
ResultSet rst = call.executeQuery();
------解决方案--------------------
网上搜了个,你不用hiberante 你执行看看有没有这个存储过程 ?
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=fish";
String user = "bm";
String pwd = "bm";
Connection conn = null;
CallableStatement proc = null;//执行sql存储过程的接口
ResultSet rs = null;
// 调用存储过程p_1:从Cell表中取出数据
try{