if(rs.getString("rq").equals("")){}既然out.println("没有输入日期");不执行,那么theDat自然就不为空了。另外,你的out.println("没有输入日期")后面少了一个“;”。

解决方案 »

  1.   

    补充,rs.getString("rq")==null 的判断也是必须的。
      

  2.   

    先if( rs.getString("rq")==null) 
    再if( rs.getString("rq").equals(""))同时存在 确保不会出错 
      

  3.   

    回复人: sailingaway1() (  
    判断字符串是否为空吗?直接通过求字符串的长度不就可以了吗?!这样不可以吧?!   if null  那么能成功得到length()??
      

  4.   

    if(theDay==null || theDay.trim().equals("")){
          out.println("没有输入日期");
        }
      

  5.   

    不知你用的是什么数据库,oracle的char数据,如果你的数据是8为的,但是你保存的值是“”,那么,在你用rs.getString(index)方式取出来的值实际上是"        "(八个空格的字符串)当然就不为空了,如果你要判断的话,应该是:
    String theDay = rs.getString("rq");
       if(theDay==null || theDay.trim().equals("")){
          out.println("没有输入日期")
        }或者是在写sql的时候,"SELECT TRIM(RQ) FROM ......"
      

  6.   

    if(rs.next()){
       String theDay = rs.getString("rq");
       if(theDay==null || theDay.equals("")){
          out.println("没有输入日期"); //少了分号
        }
    }
    另外,
    sql = "insert into test values(seq_test.nextval";
             sql+= ",'"+name+"'";
    sql+= "," +"to_date('" +rq + "','YYYY/MM/dd')";
    最后少了一个括号吧
    sql = "insert into test values(seq_test.nextval";
             sql+= ",'"+name+"'";
    sql+= "," +"to_date('" +rq + "','YYYY/MM/dd'))";
      

  7.   

    还有就是楼上lakesea(飘渺海) 说的