如何以正确的顺序显示来自 Access 的数据?

Posted

技术标签:

【中文标题】如何以正确的顺序显示来自 Access 的数据?【英文标题】:How to show data from Access in the correct order? 【发布时间】:2016-06-19 17:26:26 【问题描述】:
String sql="select ID,Hmerominia,Agores,Pliromes,Eksoda,Zhta,Metaforika,Pliromimetafo,Epitages,Xondriki,Noiki,Plirominoiki  from  Synola";

 try
    pst = conn.prepareStatement(sql);
    rs=pst.executeQuery();
   jTable1.setModel(DbUtils.resultSetToTableModel(rs));

   // JOptionPane.showMessageDialog(null, "Saved");

catch(Exception ex)
    JOptionPane.showMessageDialog(null, ex);


现在从数据库读取已修复,但 ID 为 1 到 312,jtable 上的数字不像数据库中那样按顺序排列。我该如何解决这个问题?

【问题讨论】:

“如果我在行中添加 rs=pst.executeQuery(sql); 错误是不支持的功能。” - 是的,当然。这不是您使用 PreparedStatement 的方式。但是,pst.executeQuery(); 应该可以正常工作。 程序用 pst.executeQuery() 冻结; 尝试使用 UCanAccess 发行版中的“console.bat”或“console.sh”打开数据库。如果数据库成功打开然后尝试SELECT COUNT(*) AS n FROM Synola; 看看是否返回正确的行数。 它显示在 jtable n 和 1 空白行中。我没有看到数据库中已经插入的数据。 不,我的意思是通过操作系统命令提示符从“console.bat”或“console.sh”运行SELECT COUNT(*) AS n FROM Synola; 查询。这个想法是确定您的问题是否更多地与 UCanAccess 或更多地与将信息输入您的 jTable 有关。 【参考方案1】:

1到312的ID jtable上的数字不按顺序排列

保证 SQL 语句返回行的顺序的唯一方法是包含 ORDER BY 子句。在您的情况下,您需要在 SQL 语句的末尾添加 ORDER BY ID

【讨论】:

以上是关于如何以正确的顺序显示来自 Access 的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何从迭代器()中以正确的顺序获取元素

PyCharm 能否以正确的顺序显示变量的字段?

MS Access中绑定/未绑定形式的问题

access 数据库 插入的顺序如何按照时间顺序,

如何在 Excel 中显示来自 Access 的二维数组记录集?

MySQL Closure Table 分层数据库 - 如何以正确的顺序提取信息