【发布时间】:2018-08-31 14:11:26
【问题描述】:
我有一个 sql 查询:
DECLARE @output varchar(100) exec map.GetGenreStatusName 'Genre', '2018-03-16', @output OUTPUT select @output;
它返回类似:
<anonymous>
Completed
我需要从 java 代码中获取它。我的变种是:
final String statusCheck = "DECLARE @output varchar(100) exec map.GetGenreProtocolStatusName ?, ?, ? OUTPUT select @output;";
List<String> chekList = new ArrayList<>();
try (CallableStatement statement = connection.prepareCall(statusCheck)) {
statement.setString(1, packageName);
statement.setDate(2, date);
statement.registerOutParameter("output", 12);
statement.execute();
ResultSet checkStatusResult = (ResultSet) statement.getObject(0);
chekList.add(checkStatusResult.getString(0));
}
如何将这个字符串“已完成”从选择中带到我的列表中?我用“?”尝试了不同的变体设置和注册输入/输出参数,我尝试像查询一样执行它,但没有。
【问题讨论】:
标签: java sql tsql stored-procedures jdbc