我正在尝试使用SELECT mac, stop_name from behaviour where mac = ?
获取此查询executeQuery
的受影响记录的数量。如何获得受影响的行数?
码:
if (behaviourExist.next()) {
PreparedStatement prepared = con
.prepareStatement("SELECT mac, stop_name from behaviour where mac = ?");
prepared.setString(1, macD);
ResultSet rsBehav = prepared.executeQuery();
ArrayList<String> stopNameList = new ArrayList<String>();
while (rsBehav.next()) {
//int numberOfRows = rsBehav.getInt(1);
String stNa = rsBehav.getString("stop_name");
if (stNa.equals(nameShortestDistance)) {
stopNameList.add(stNa);
}
}
}
最佳答案
这是读取操作,因此不会影响任何行。如果要获取返回的行数,则可以执行以下操作之一
使用计数器变量并在循环while (rsBehav.next())
中对其进行递增
使用可滚动的结果集
PreparedStatement prepared = con.prepareStatement(
"SELECT mac, stop_name from behaviour where mac = ?",
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rsBehav = prepared.executeQuery();
rsBehav.afterLast();
int numRow = rsBehav.getRow();
rsBehav.beforeFirst();
在这里numRow将为您提供返回的数字或行,
关于java - 获取受影响的行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30962751/