JAVA端,该语句没有返回结果集,但是数据库能查出来

qq_37400227 2017-05-10 02:02:52
这是JAVA代码,, 该sql语句在数据库执行正常..在java端提示没有返回结果集

public String enter(String funcode, String inputStr,
String ExtensionInputStr, String name, String pwd, String path) {
String ss = "";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(path, name, pwd);
String sql = "DECLARE @return_value int,@OutputStr varchar(max),@ExtensionOutputStr varchar(max) EXEC @return_value = [dbo].[ap_callSelfServices] @funcode = ?,@InputStr =?,@ExtensionInputStr = ?,@OutputStr = @OutputStr OUTPUT,@ExtensionOutputStr = @ExtensionOutputStr OUTPUT";
ps = conn.prepareStatement(sql);
ps.setObject(1, funcode);
ps.setObject(2, inputStr);
ps.setObject(3, ExtensionInputStr);
rs = ps.executeQuery();
if (rs.next()) {
ss = rs.getString(1);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ss;
}
这是报的错..数据库返回的是xml形式,我给转换成字符串了 ..
com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:408)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
at com.bb.model.dao.EnterDAO.enter(EnterDAO.java:141)
at com.bb.model.dao.EnterDAO.enterDAO(EnterDAO.java:111)
at com.bb.test.Test.main(Test.java:13)
...全文
739 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37400227 2017-05-31
  • 打赏
  • 举报
回复
自己SB了.. java调用存储过程可以用CallableStatement,而非ResultSet 具体使用方法可以百度.

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧