你判断的方法不对因为rs=ps.executeQuery(sql); 运行完了以后有没有结果集rs都是不为空.你用rs.last();然后用rs.getRow()方法判断有没有记录.

解决方案 »

  1.   

    你说rs.last怎么用,我不太会?有没有什么源代码可以用呀!!
      

  2.   

    rs=ps.executeQuery(sql);rs.last();
    int getRow = rs.getRow();
    rs.beforeFirst();
    if (getRow>0)
    {
    while(rs.next()){
    String[] element = new String[1]:
    element[0] = rs.getString(1);
    System.out.println(element[0]); result.add(element);
    }//while
    request.setAttribute("TCID",Tcid);
    request.setAttribute("TRAINCOURSE",result.iterator());
    }//if
    else
    {
    goTo="delcourse?TCID=Tcid";
    }
    request.setAttribute("TCID",Tcid);
    request.setAttribute("TRAINCOURSE",result.iterator());RequestDispatcher rd= request.getRequestDispatcher(goTo);
    rd.forward(request,response);
    }
      

  3.   

    你用rs.next()判断rs是否为空if(rs.next()){}
      

  4.   

    你也可以加一个标志在while循环中,如果运行到while中,则修改标志.
    然后根据这个标志跳转页面.
      

  5.   

    zhabu12(蒙古人) 单:
    我试了试,现在不管怎么样,它都把传跳到了那个SERVLETS去了,我想是能够查到记录的话,它应该是传跳到NOTICE.JSP去,怎么办,在帮帮忙!!
      

  6.   

    应该没有问题吧?怎么查RS取到记录呢?用System.out.println(RS)吗?我试过,控制台打不出来的。
      

  7.   

    double22822(大宝) 
    的方法是对的
      

  8.   

    zhabu12(蒙古人):rs.last();
    int getRow = rs.getRow();
    rs.beforeFirst();
    if (getRow>0)
    {
    while(rs.next()){
    String[] element = new String[1]:
    element[0] = rs.getString(1);
    System.out.println(element[0]); result.add(element);
    }//while
    request.setAttribute("TCID",Tcid);
    request.setAttribute("TRAINCOURSE",result.iterator());
    }//if
    else
    {
    goTo="delcourse?TCID=Tcid";
    }
    request.setAttribute("TCID",Tcid);
    request.setAttribute("TRAINCOURSE",result.iterator());RequestDispatcher rd= request.getRequestDispatcher(goTo);
    rd.forward(request,response);
    }这段代码我用了,我的TRAINACTIVE表里由两条记录,它都给我删了,现在是不管能不能SELECT出来,它都直接传跳到SERVLET去了,NOTICE.JSP不管用。请各位大哥帮帮忙,到底该怎么写,告诉小弟。我很急
      

  9.   

    ps = con.createStatement();
    String sql ="SELECT taname from trainactive where tcid="+Tcid;
    rs=ps.executeQuery(sql); 
    int just;
    just=rs.getInt("Tcid"); 
    if (just!=null) 
         {          }
      

  10.   

    coolman666(雪峰) :不行,我试了,它把记录又删掉了,咱那么办?
      

  11.   

    十万火急!!!
    我想尽了各种方法,都不行,
    我的想法是用SQL语句从TRAINACTIVE的这个表里查数据,因为这张表的tcid字段是另外一张表TRAINCOURSE的主键,我想如果SELECT能够查询到数据库表里的数据,那么这个SERVLET将传跳到NOTICE.JSP页面去,如果SELECT没有查询到据库表里的数据,则传跳到DELCOURSE这个SERVLET去,我不管是判断RS为空,还是判断我里面设的一个LinkedList result为空( result.add(element)从RS里取值)还是用getString(tanmame)等方法,它都传跳到DELCOURSE的SERVLET,将我的数据表里的纪录删掉了。
    怎么办,请各位关照关照!