java - 在 UCanAccess 中使用 order by 订购 ID
问题描述
我正在使用 ucanaccess 将我的数据库链接到我的代码,但是每当我运行它时,它都不会像我想要的那样工作,即使它甚至可以运行。我只想使用 ORDER BY ID 将主键 (ID) 重新排序为数字顺序;。当我编辑数据库时,它不会在我运行该方法时重新排序,它只是将编辑后的 ID 推到底部并在那里对它们进行排序。如果我应该使用数组排序来重新组织整个表,我也很困惑?任何帮助表示赞赏。每当我尝试在 GUI 中编辑表时,它都会运行。
public void reorder()
{
for(int i = 0 ; i < size - 1;i++)
{
for(int j = i+1 ; j< size;j++)
{
if(launch[i].getID() > launch[j].getID())
{
Launch temp = launch[i];
launch[i] = launch[j];
launch[j] = temp;
System.out.println(launch[i]);
}
}
}
}
public void orderByID()
{
String sql = "SELECT * FROM LaunchPriceList ORDER BY ID DESC";
try
{
dbman.updateQuery(sql);
//reorder();
}
catch(SQLException e)
{
System.out.println("Error Order by: " + e);
}
}
解决方案
我无法访问您的代码(无论 n/w 限制如何)。话说回来...
您可以通过扩展AbstractTableModel创建TableModel的自定义实现开始
在填充 TableModel 时,您首先遍历结果集并创建一个带有自定义Comparator的 TreeSet,该 Comparator比较 ID 属性。
完成后,您可以使用先前填充的表模型创建表。例如
JTable t = new JTable(model);
使用刷新的数据更新 TableModel 将自动刷新表。
推荐阅读
- javascript - 使用 onClick 和 TypeScript反应功能组件
- java - Java三元运算符在字符串连接期间自动将int转换为double
- xamarin - 如何使用 Xamarin Forms mac App 进行关闭确认?
- jquery - 将元素传递给函数,创建 id 变量,使用此变量平滑滚动到元素
- data-structures - 队列如何在取/放上提供 O(1) 性能?
- excel - Problem creating a pivot table on all machines
- python - Calling Python from R with reticulate package
- flutter - Icon widget cut off by Image widget
- python - 网站登录 python 请求的问题
- google-apps-script - 有没有办法以数字/相反的方向对这个谷歌脚本函数进行排序?