【发布时间】:2010-02-22 04:11:15
【问题描述】:
继续this 问题。
我的问题是我无法编辑我的 JTable。我得到一个异常和 Object 值,而不是我应该看到的。
我将ResultSet Table 代码与MS-Access 数据库一起使用并进行了一些修改。我的代码可以在here 找到。调用 rs.updateRow() 时遇到错误。 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Error in row.
我用updateRow() 对这个错误进行了谷歌搜索,但没有找到太多。我看到的唯一真正的答案是使用准备好的语句,但我不是 SQL 命令的专家。
如果您能告诉我将其变为 GlazedList 的最佳方法,那么我也可以轻松过滤。除非你能给我提供一些可以轻松过滤常规 JTable 的东西。
【问题讨论】:
-
好的。我可以轻松地显示数据库,但不使用 SQL 命令对其进行编辑几乎是不可能的。我需要编辑哪些 SQL 命令?
-
@twodayslate:
UPDATE tableName(columnName1,columnName2,etc) SET columname2 = column2value WHERE columnName1=row_value-- 假设 columnName1 是主键列。我认为问题仍然在于您的 JDBC 驱动程序不支持可更新的 ResultSets。 -
如何获得支持的驱动程序?在看到您的回答之前,我制作了一个支持编辑表格的新 TableModle。但是,它不反映对数据库的更改。然而。 resultSet 方法是否在没有 SQL 命令的情况下将更改放入表中?
-
@twodayslate:实际上,现在我认为原始代码的问题可能是语句配置为生成结果集的方式以及指定的选项。但是,要实际修改数据,您必须在可更新的 ResultSet 上使用 updateRow/insertRow/deleteRow 或使用 SQL。即使您使用 SQL,ResultSet 也可能不会真正反映更改本身。正如我还发现的那样,获取反映数据库更改并可以修改数据库的表非常复杂。这只是一个史诗般的 Swing/AWT/Java 失败。
-
ResultSets 的想法似乎很完美,但我想它们在实践中行不通...... :(
标签: java jdbc jtable resultset glazedlists