嗨我的表中有以下三行说tb1
key time id rowid
X 11:40 1 1
Y 4:50 1 2
Z 6:48 1 2
现在我使用JDBC来获取记录并迭代结果集,如下所示:
rs = statement.executeQuery("select * from tb1")
ResultSetMetaData md = rs.getMetaData();
int cols = md.getColumnCount();
while(rs.next())
{
for(int i = 1; i <= cols ; i++)
{
System.out.println("col name " + md.getColumnName(i));
System.out.println("col name " + rs.getObject(i));
}
}
当我奇怪地执行上面的代码时,它总是首先打印第二行,然后是第一行,然后是第三行。简而言之,结果集数据检索不是有序的。我不明白为什么?请指导。提前谢谢。
答案 0 :(得分:4)
您尚未指定“order by”子句。通常,除非指定了“order by”子句,否则不要求数据库以任何顺序返回行。在order语句中添加order by子句。