代码输出的结果是 :删除失败
代码如下:
<%@page contentType="text/html;charset=GB2312" %>
<%@page language="java"%>
<%@page import="java.io.*"%>
<%@page import="java.sql.*"%><html><body><center>
<%     Connection  con;
      PreparedStatement  sql ;
        
    try {  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
          }
       catch(Exception e){} 
     
     try{   String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=ComeHere";   
            
     
            
           con=DriverManager.getConnection(uri,"sa","123");
            sql=con.prepareStatement("DELETE FROM member WHERE logname=?");
                sql.setString(1,request.getParameter("id"));
              int m=sql.executeUpdate();
             
          if(m!=0){
            out.print("删除成功");
             }
       else{ 
            out.print("删除失败");
            }     
         con.close();
       }   
    catch(Exception ee){
         System.err.print(ee) ; 
      }         
 
%>
</center>
</body></html>
     

解决方案 »

  1.   

    m!=0  m那来的?lz确定数据库数据没被删除?
      

  2.   

    建议LZ,先看看有没有异常抛出,把第一个try{}catch(Exception e){}的catch语句中也加上,异常输出.LZ把驱动的原因给排除了?还有看看这一句sql.setString(1,request.getParameter("id")); 中request.getParameter("id")的参数值输出来,System.out.println(request.getParameter("id"));看看到底获取到值没有,如果能获取到,再到数据库中看看logname字段中有没有一条与request.getParameter("id")值一样名字的记录。上面的代码应该没问题。
      

  3.   

    那就是 int m=sql.executeUpdate(); 
                
    驱动没有问题啊~~~~~~~~·
      

  4.   

    ls正解,看看驱动链接有没有问题,再者输出一下request.getParameter("id")的值看看在数据库中是不是有这条记录...
      

  5.   

        if(m==0){ 
                out.print("删除失败"); 
                } 
          else{ 
                out.print("删除成功"); 
                }    试一下
      

  6.   

    先Try一下看有么有异常抛出,m的打引一下。
      

  7.   

    数据库里根本没有你要删除的数据,当然返回0如果是异常,不会到你判断 m!=0 这一句的。OVER
      

  8.   

    sql.setString(1,request.getParameter("id")); 
    改为:
    sql.setString(0,request.getParameter("id")); 
      

  9.   


    数据库里根本没有你要删除的数据,当然返回0
    如果是异常,不会到你判断 m!=0 这一句的。
    OVER我同意这观点。