java操作mysql 用结果集删除,deleteRow()能执行,但数据库没变动,不知道为什么?

importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.Connecti... import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ResultSetTest {
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
public static final String DBURL="jdbc:mysql://localhost:3306/study";
public static final String DBUSER="root";
public static final String DBPASS="chenxixi2006";
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
Connection con=null;
PreparedStatement pre=null;
ResultSet rs=null;
con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
String sql="SELECT id,name,age FROM messin"+" WHERE id=?";
pre=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
pre.setInt(1,18);
rs=pre.executeQuery();
rs.last();
rs.deleteRow();
rs.close();
pre.close();
con.close();
}

}
展开
 我来答
幽静孤雨下
2016-01-29 · TA获得超过187个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:116万
展开全部
你在执行删除之后需要调用updaterow()。就可以看到数据库中的数据变换了。
原因是你使用删除方法之后只是删除了结果集中的数据,但是数据库并没有删除,当你在删除之后在调用更新操作的时候就把结果集中的数据更新回数据库中去,这是数据库中就相当于执行了删除操作就可以看到数据发生变化了。
fallsoft
2014-07-01 · TA获得超过236个赞
知道小有建树答主
回答量:423
采纳率:100%
帮助的人:288万
展开全部
你删除的是结果集中的记录,没有删除表中的记录。删除表的记录,需要使用SQL语句delete语句。
追问
就是想用结果集操作表,我试了,可以增加插入,但不能更新、不能删除,不知道为什么?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式