我有以下 sql 表:
作者:
Id Name
2 John Smith
图书:
Id AuthorID Title
1 2 Shreak
我正在尝试通过一个 GUI 将更多书籍添加到书籍表中,该 GUI 有一个下拉框来显示作者表中的作者和一个用于输入新书的文本框和一个保存按钮。以下是对应保存按钮的:
pprivate void save_bookActionPerformed(java.awt.event.ActionEvent evt) {
try {
String sql = "INSERT into books (AuthorId,Title) VALUES (?,?)";
pst = con.prepareStatement(sql);
pst.setInt(1, author_name_combo.getSelectedItem());
pst.setString(2, book_name.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "New Book has been added");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void FillCombo(){
try {
con = DriverManager.getConnection(url, user, password);
String sql = "SELECT * FROM Authors";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()) {
String author = rs.getString("Name");
author_name_combo.addItem(author);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
我是一个初学者,我正在努力用新数据填充表格。程序编译,但书籍表显示 NULL 为 AUTHOR ID 和 TITLE。如何正确填充表,以便自动从 Authors 表中查找作者 ID 并从那里给出适当的 ID 号。请注意作者 ID 是书籍表中的外键。