java - 使用jsp删除数据库中的数据

标签 java jsp

我想从数据库中删除特定记录。

我的代码如下:

<%
String value = request.getParameter("Meter_No");
int v=Integer.parseInt(value);
try{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDirver");
Connection conn = DriverManager.getConnection ("jdbc:sqlserver://localhost:1433;databaseName=myDatabase;
user=shakir;password=shakir123");
Statement st = conn.createStatement();
ResultSet rs =st.executeQuery("DELETE * FROM qesco_table 
  WHERE Meter_No ="+v+"");
rs.close();
conn.close();
  }catch(Exception e){
System.out.print(e.getMessage());
}
%>

但它并没有从数据库中删除数据。

谁能指导我代码问题出在哪里?

最佳答案

代码中的所有内容都很好。

但是您需要使用 st.executeUpdate() 运行查询。

因此更改以下行

ResultSet rs =st.executeQuery("DELETE * FROM qesco_table WHERE Meter_No ="+v+"");

st.executeUpdate("DELETE * FROM qesco_table WHERE Meter_No ="+v);

  1. 您不需要在此程序中包含 ResultSet,因为您的查询不会返回任何要存储的数据。

  2. 查询末尾不需要有空的“”(双引号)。

  3. 您应该在 finally block 中关闭连接和其他连接,而不是 try block 本身。

如果您尝试使用 PreparedStatements 会更好编写动态查询。所以它会变成这样,

<%
    String value = request.getParameter("Meter_No");
    int v=Integer.parseInt(value);
    Connection conn = null;
    PreparedStatement pst = null;
    try{

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDirver");
        conn = DriverManager.getConnection ("jdbc:sqlserver://localhost:1433;databaseName=myDatabase;user=shakir;password=shakir123");
        pst = conn.prepareStatement("delete from qesco_table where Meter_No = ?");
        pst.setInt(1,v);

        pst.executeUpdate();
      }catch(Exception e){
        System.out.print(e.getMessage());
    }finally{
        pst.close();
        conn.close();
    }
%>

关于java - 使用jsp删除数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429224/

相关文章:

java - 在Java中将两个arrayLists合并为一个新的arrayList,没有重复且按顺序排列

java - XStream:如何将 xml 混合属性和元素映射到 POJO?

java - 如何调试 Wicket 口异常

java - 无法获取服务器中的参数

java - 数据绑定(bind)到 Spring MVC 中的下拉框

java - GAE 仅对任务队列和 cron 进行访问限制

java - 为什么不在从 spring-data-jpa 保存返回的实体中设置 ID

java - 从 servlet 转发到 jsp 导致表单提交错误

javascript - 如何在同一个 JSP 中点击不同的 <li> 链接显示不同的 DIV 部分?

java - 为什么在 JSTL el 表达式中转义引号时出现 JSP 错误 "attribute for "未正确终止?