我正在尝试将chapter
表的最后添加ID插入lesson
表。
这是我的代码:
String Sql = "INSERT INTO lesson"
+"(title, chapter_id, source)"
+"VALUES(?,?,?)";
String getId = "SELECT MAX(id) AS id FROM chapter";
rs = pst.executeQuery(getId);
int lastid = rs.getInt("id");
rs.close();
pst=conn.prepareStatement(Sql);
pst.setString(2,txt_lessonTitle.getText());
pst.setInt(3,lastid);
pst.setString(4,txt_lessonContent.getText());
pst.executeUpdate();
我收到了一个错误:
在开始结果集之前
答案 0 :(得分:2)
你需要检查是否有一些结果
rs = pst.executeQuery(getId);
if (rs.next()) {
int lastid = rs.getInt("id");
rs.close();
pst=conn.prepareStatement(Sql);
pst.setString(2,txt_lessonTitle.getText());
pst.setInt(3,lastid);
pst.setString(4,txt_lessonContent.getText());
pst.executeUpdate();
}
答案 1 :(得分:0)
试试这个:
int lastid;
rs.afterLast();
while (rs.previous()) {
lastid = rs.getInt("id");
}
rs.close();
// other code statements can be here
答案 2 :(得分:0)
谢谢你们! .my错误在这里:
pst.setString(2,txt_lessonTitle.getText());
pst.setInt(3,lastid);
pst.setString(4,txt_lessonContent.getText());
而不是使用
pst.setString(1,txt_lessonTitle.getText());
pst.setInt(2,lastid);
pst.setString(3,txt_lessonContent.getText());
感谢您的回答和建议,它给了我答案。