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

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

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

【问题讨论】:

    标签: java sql-server swing jdbc 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 您能否展示一些代码来说明您在重用此方法时遇到问题的原因?
    猜你喜欢
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多