我从表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)。 –