从 jTable 更新 SQL Server 表

Posted

技术标签:

【中文标题】从 jTable 更新 SQL Server 表【英文标题】:Updating SQL Server Table from a jTable 【发布时间】:2014-06-20 07:03:23 【问题描述】:

我的 Java 应用程序中有一个 jTable。直接从 SQL Server 表中填充(无连接)用户可以添加/删除/更新行。如果用户按下保存按钮,则对 jTable 执行的所有更改都应提交到数据库中。

实现此类用户操作的最佳方法是什么? (删除和插入不是一种选择)

【问题讨论】:

【参考方案1】:

您可以根据在本地 JTable 上执行的操作将您的语句(即:DELETE、UPDATE、INSERT 等)排队到一个列表中。按下保存按钮后,您可以遍历列表中的每个查询语句并将更改提交到您的 SQL Server:

List<String> listOfStatements = new ArrayList<String>();

Connection connection = new SQLServerDataSource().getConnection();
Statement statement = connection.createStatement();
connection.setAutoCommit(false);

for(String query : listOfStatements) 
    statement.executeUpdate(query);


connection.commit();
connection.setAutoCommit(true);
connection.close();

您应确保尝试使用此方法更改数据库的用户不超过一个,否则您可能会遇到问题。

此外,如果您担心 SQL 注入,您应该使用 PreparedStatements

【讨论】:

感谢您的回复。实际上,这正是目前正在做的事情。我想要一种更通用的方法,因为我有很多表,不知道如何使这段代码可重用。 @user1912404 您必须告诉我们更多关于您的实现的信息,以便缩小如何使其更可重用的范围。 检查上图下面action选项卡中的表需要与sql server表同步保存(上面工具箱中的一个按钮)。右下角的按钮是添加/删除行。 @user1912404 您能否展示一些代码来说明您在重用此方法时遇到问题的原因?

以上是关于从 jTable 更新 SQL Server 表的主要内容,如果未能解决你的问题,请参考以下文章

从 RestulSet 表编辑 JTable

如何从另一个表更新 Sql Server CE 表

从 Excel VBA 更新 SQL Server 表

从 Access 插入/更新链接的 SQL Server 表

从 SQL Server 高效更新 MySQL 表

从 Excel 文件更新 SQL Server 表