我從表EmployeeLeave中提取記錄並將其存儲在結果集中。然後我將這個結果集插入數據庫表中,但是我只能插入結果集的第一行而不是所有的行。
我如何插入結果集的所有行?插入查詢僅插入數據庫表中結果集的第一行
r = stmt.executeQuery("select * from EmployeeLeave where EmployeeNo='"+empno+"'");
while(r.next())
{
for(int i=0;i<=r.getRow();i++)
{
int empid = r.getInt(1);
String leave = r.getString(2);
r = stmt.executeQuery("insert into ApprovedLeave values('"+empid+"','"+leave+"','True')");
}
}
如果您正在學習Java,請以良好的方式學習並使用PreparedStatement而不是Statement。這裏有兩篇文章要閱讀:[爲什麼預備陳述很重要,以及如何正確使用它們](http://www.theserverside.com/news/1365244/Why-Prepared-Statements-are-important-and-how - 正確使用它們)和[使用準備好的語句](http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html)。 –