【发布时间】:2014-06-20 07:03:23
【问题描述】:
我的 Java 应用程序中有一个 jTable。直接从 SQL Server 表中填充(无连接)用户可以添加/删除/更新行。如果用户按下保存按钮,则对 jTable 执行的所有更改都应提交到数据库中。
实现此类用户操作的最佳方法是什么? (删除和插入不是一种选择)
【问题讨论】:
标签: java sql-server swing jdbc jtable
我的 Java 应用程序中有一个 jTable。直接从 SQL Server 表中填充(无连接)用户可以添加/删除/更新行。如果用户按下保存按钮,则对 jTable 执行的所有更改都应提交到数据库中。
实现此类用户操作的最佳方法是什么? (删除和插入不是一种选择)
【问题讨论】:
标签: java sql-server swing jdbc jtable
您可以根据在本地 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。
【讨论】: