java直接rs.updateRow()来更新数据库

来源:互联网 发布:解放军报网络图片赵阳 编辑:程序博客网 时间:2024/04/27 13:08

在上面一篇文章里,讲到了如何用java连接mysql数据库,并读取数据库里某字段的值,这次需要涉及的是更新数据库操作。对于入门级的学习者来说,最简单的方法有两种。 先来看下之前如何读取数据库的:

Statement st = con.createStatement();ResultSet rs = st.executeQuery("SELECT * FROM user where name = '" + name + "'");

是的,我们用的select语句,而更新数据库,用的是update语句(谁扔的石头,NND我都说了这是入门级的教程)。

Statement st = con.createStatement();ResultSet rs = st.executeQuery("UPDATE user set password = '" + password + "'" where name = '" + name + "'");

其实这里还有另外一种方法,利用select先找到数据匹配的那条记录,然后直接用updateRow()来更新记录:

Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rs = st.executeQuery("SELECT * FROM user where name = '" + name + "'");rs.updateString("password",password);rs.updateRow();

个人觉得第2种方法的好处是不太容易由于少个引号而出现语法错误。注意第2种方法的createStatement()是有参数的,必须是updatable才行,否则re.updateRow()是会报错的。

这里顺便说一下删除的语法:

Statement st = con.createStatement();st.execute("DELETE FROM user where name = '" + name + "'");
原创粉丝点击