PreparedStatement pst=con.prepareStatement(sql); pst.setString(1,name); //delete部件 ResultSet result=pst.executeQuery(sql);
时间: 2024-03-24 08:39:41 浏览: 11
您的代码似乎有些问题。如果您想执行一个 DELETE 操作,应该使用 pst.executeUpdate() 方法而不是 pst.executeQuery() 方法。同时,您的 SQL 语句也需要使用 DELETE 关键字来指定删除操作。
例如,您可以这样编写代码:
```
String sql = "DELETE FROM your_table_name WHERE name = ?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, name);
int rowCount = pst.executeUpdate();
```
其中,`your_table_name` 是您要删除数据的表名,`name` 是您要删除的数据所对应的字段名。执行完成后,`rowCount` 变量将会包含受影响的行数。
相关问题
public class Don { private Connection conn; private Statement st; private PreparedStatement pst; private ResultSet rs; //检查账号和密码是否正确 public User selectUserLogin(String username, String password) { User user = null; try { conn = Usetils.getConnect(); String sql = "select * from user where username=? and password=?"; pst = conn.prepareStatement(sql); pst.setString(1,username); pst.setString(2,password); rs = pst.executeQuery(); if (rs.next()) { user = new User(); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); } } catch (SQLException throwables) { throwables.printStackTrace(); }finally { Usetils.close(rs,pst,conn); } return user; } //将账号,密码放到数据库中 public void insertIt(User user) { conn = Usetils.getConnect(); String sql = "insert into user(username,password) values(?,?)"; try { pst = conn.prepareStatement(sql); pst.setString(1,user.getUsername()); pst.setString(2, user.getPassword()); pst.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); }finally { Usetils.close(rs,pst,conn); } } }
这是一个 Java class,其中包含两个方法 selectUserLogin 和 insertIt,用于检查用户登录和将用户账号密码保存到数据库中。在 selectUserLogin 方法中,使用了 PreparedStatement 预处理语句来防止 SQL 注入攻击,同时将获取的结果封装到 User 对象中返回。在 insertIt 方法中,使用了 executeUpdate 方法将用户数据插入到数据库中。同时,这个 class 中还包含了一些数据库连接和操作的基础代码。
Statement s = conn.createStatement(); ResultSet rs = s.executeQuery(sql_ck); while (rs.next()) { if (rs.getString("book_id").equals(bookId)) { pst = conn.prepareStatement("update thebook set book_num = ? where book_id = ?"); System.out.println(getBookNum(bookId)); bookNum +=getBookNum(bookId); pst.setInt(1, bookNum); pst.setString(2, bookId); if (pst.executeUpdate() > 0) { return true; } else { return false; } } } pst.executeUpdate();这些代码是什么意思
这段代码是用于执行数据库操作的。首先,它创建了一个用于执行 SQL 语句的 Statement 对象 `s`,然后使用该对象执行查询操作 `s.executeQuery(sql_ck)`,将结果存储在 ResultSet 对象 `rs` 中。
接着,通过遍历 ResultSet 对象 `rs.next()`,判断是否存在与指定 bookId 相匹配的书籍记录。如果存在匹配的记录,则创建一个用于更新书籍数量的 PreparedStatement 对象 `pst`,并将 bookNum 值累加到原有数量上。
然后,使用 PreparedStatement 对象 `pst` 设置更新后的书籍数量和指定的 bookId,并通过调用 `pst.executeUpdate()` 方法执行更新操作。如果更新操作成功(即返回结果大于0),则返回 true;否则返回 false。
最后,如果没有匹配的记录,则直接执行 `pst.executeUpdate()`,但此时没有更新任何记录。