我在netbeans中用java编写了一个代码,用数据库的结果在表中插入信息,但是返回的第一个值没有应用到表中,有人能帮我吗?
表中只显示三个数据:屏幕截图1
如果我直接在phpmyadmin上运行相同的sql,它将返回以下四个数据:屏幕截图2
sql在java中运行的代码:
public ResultSet getInfos(){
VIEW.Inicio Inicio = new VIEW.Inicio();
String SQL = "SELECT * FROM tb_denuncia WHERE status = 1 ORDER BY prioridade DESC, id ASC LIMIT ?";
try {
PreparedStatement stmt = this.getConexao().prepareStatement(SQL);
stmt.setInt(1, 10);
ResultSet res = stmt.executeQuery();
if(res.next()){
return res;
} else {
return null;
}
} catch (SQLException erro) {
throw new RuntimeException(erro);
}
}
表中箭头所在的代码:
Tabela_TOP10.setModel(DbUtils.resultSetToTableModel(res));
有人知道应该怎么做才能显示所有的价值观吗返回?
1条答案
按热度按时间xam8gpfp1#
你还没有包括你的密码
DbUtils.resultSetToTableModel()
方法,但我强烈怀疑它是这样的:注意呼叫
resultSet.next()
. 这是一种标准的方法来处理ResultSet
:检查是否有下一行要读取(这会将结果集移到下一行),如果有,则从该行中读取值,对其进行处理,然后返回以处理更多的行。还要注意的是
getInfos()
方法也调用.next()
在结果集传递给DbUtils.resultSetToTableModel()
. 所以在代码开始处理结果集中的任何数据之前,.next()
已经有两次了。这会导致它跳过第一行。我真的不明白为什么你的代码里有这个:
把它换成