首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过JTable删除MySQL数据库中的选定行

通过JTable删除MySQL数据库中的选定行
EN

Stack Overflow用户
提问于 2013-12-14 23:29:02
回答 2查看 16K关注 0票数 1
  • tb_records = jtable名称
  • 记录=数据库内的表名
  • Date =我的第一列
  • hey =替换我的真实密码
  • mydatabase =我的数据库名称

我的问题是,当我在JTable中突出显示并删除一行时,它会删除所有行。我只想删除选定的行。下面是我的代码:

代码语言:javascript
复制
int row = tb_records.getSelectedRow();
DefaultTableModel model= (DefaultTableModel)tb_records.getModel();

String selected = model.getValueAt(row, 0).toString();

            if (row >= 0) {

                model.removeRow(row);

                try {
                    Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "hey");
                    PreparedStatement ps = conn.prepareStatement("delete from records where Date='"+selected+"' ");
                    ps.executeUpdate();
                }
                catch (Exception w) {
                    JOptionPane.showMessageDialog(this, "Connection Error!");
                }           
            }

这里会有什么问题呢?如何删除数据库中的选定行而不是所有行?

EN

回答 2

Stack Overflow用户

发布于 2020-01-30 18:49:24

代码语言:javascript
复制
DefaultTableModel model = (DefaultTableModel) jTable.getModel();
        int row = jTable.getSelectedRow();
        String eve = jTable.getModel().getValueAt(row, 0).

        String delRow = "delete from user where id="+eve;
        try {
            ps = myCon.getConnection().prepareStatement(delRow);
            ps.execute();
            JOptionPane.showMessageDialog(null, "Congratulation !!");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,  e.getMessage());
        }
票数 1
EN

Stack Overflow用户

发布于 2013-12-15 00:14:42

1)不显示自己的消息。显示异常中的错误消息,因为它可以更好地解释问题所在。

2)对SQL使用合适的PreparedStatement。你不太可能犯语法错误。类似于:

代码语言:javascript
复制
String sql = "delete from records where Date= ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString( 1, selected );
stmt.executeUpdate();

我对SQL不太了解,但也许您需要传递一个Date对象,而不是String对象,因为where子句使用的是Date?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20585028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档