从RestulSet表编辑JTable
继续这个问题。
我的问题是我无法编辑我的JTable。 我得到一个exception和Object值而不是我应该看到的。
我正在使用带有MS-Access数据库的ResultSet表代码并进行一些修改。 我的代码可以在这里找到。 我调用rs.updateRow()
时rs.updateRow()
错误。 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Error in row
。
我使用updateRow()
对这个错误进行了谷歌搜索,并没有多少提出来。 我看到的唯一真正的答案是使用预备语句,但我不是SQL命令的专家。
如果你能告诉我使其成为GlazedList的最佳方法,那么我也可以轻松过滤。 除非你能为我提供一些可以轻松过滤常规JTable的东西。
试图提供更多帮助,因为最初的解决方案不能100%工作。
尝试使用以下信息: 可更新的ResultSet以了解如何通过在Connection
创建Statement
对象时指定参数来使ResultSet
可更新。 我意识到默认情况下可能没有为您设置此选项。 如果您的驱动程序支持此模式,它应该允许代码工作。
编辑:它不一定是驱动程序(如果你想改变它,你将需要一个JAR)。 您需要在创建表时启用ResultSet.TYPE_SCROLL_SENSITIVE
– 驱动程序可能仍支持此模式。 有一些方法可以探测JDBC驱动程序支持的内容,但除非您使用像SquirrelSQL Client这样的GUI来获取完整的function列表,否则它们很难使用。
我正在使用ResultSet表代码
在Web上搜索ResultSetTableModel的更好示例。 我相信你会找到一个已经实现了setValueAt(…)方法的方法。 或者另一种方法是将数据从ResultSet复制到DefaultTableModel,然后您可以编辑它没有问题。
除非你能提供一些能够轻松地对常规JTable进行分类的东西。
您是否已阅读JTable API并按照“如何使用表”的Swing教程链接进行操作,其中包含排序的工作示例,因为排序是JDK的默认部分。