1 ResultSet res = stm.executeQuery("select * from emp");
2 while(res.next()){
3 System.out.print(res.getString(1));
4 System.out.print("\t" + res.getString(2));
5 }
上述代码可以正常输出emp表中数据前提下将上述代码修改为
ResultSet res = stm.executeQuery("select * from emp");
stm.executeUpdate("insert into emp values('101','ruby','','','','','','')");
while(res.next()){
System.out.print(res.getString(1));
System.out.print("\t" + res.getString(2));
}
完成插入一条数据的操作后不在打印出表内容,这个是什么原因,resultset在代码执行中是怎样的状态请了解的前辈帮忙指点下。
把第一行代码与第二行代码换一下位置试试。
缓冲区数据被清空了,资源没有及时释放
能详细帮我解释下缓冲区在执行每条语句前后是如何释放和更新的么?我感觉上述问题应该是因为执行插入语句后res指向的原对象发生变化,但是变化的细节是什么呢?
首先你要确定是否进过while循环,还是抛异常跳过未执行while(即插入操作是否成功)setAutoCommit(true)有没有改过
才能进行之后的验证。