从 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 表的主要内容,如果未能解决你的问题,请参考以下文章