如何以正确的顺序显示来自 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 的数据?的主要内容,如果未能解决你的问题,请参考以下文章