JButton updateButton = new JButton("修改"); updateButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int selectedRow = table.getSelectedRow(); if (selectedRow != 0) { int id = (int) table.getValueAt(selectedRow, 0); String name = nameTextField.getText(); String publisher = publisherTextField.getText(); int stock = Integer.parseInt(stockTextField.getText()); Book book = new Book(id, name, publisher, stock); bookManager.updateBook(book); refreshTable(); } } }); panel.add(updateButton);public void updateBook(Book book) { try { // 执行更新语句 String sql = "UPDATE books SET name = ?, publisher = ?, stock = ? WHERE id = ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1, book.getName()); statement.setString(2, book.getPublisher()); statement.setInt(3, book.getStock()); statement.setInt(4, book.getId()); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } }这两段代码有什么错误吗
时间: 2024-02-14 22:31:32 浏览: 67
Button-Swing.zip_java swing button
这两段代码看起来没有明显的语法错误。不过,可能存在一些潜在的问题需要注意。首先,确保在使用`updateButton`之前已经创建了`nameTextField`、`publisherTextField`和`stockTextField`。此外,还要确保`table`和`bookManager`的定义和初始化正确。还有可能出现的问题是数据库连接是否正确建立和关闭。
另外,需要确保在更新书籍之前,已经从`table`中选择了一行。如果没有选择任何行(即`selectedRow`为-1),那么代码块中的更新操作将不会执行。
如果还有其他问题,请提供更多的上下文信息或具体的错误提示,以便更好地帮助您解决问题。
阅读全文