请大侠们帮帮忙,把这个错误找出来一下 弄了个把小时了 后台oracle  sql语句
sql.append("insert into tbl_wzgl_wz(wzid,wzname,style,memo,adate,userid,gdeptid,deviceclassid)");
sql.append(" values(seq_wzgl_wzid.nextval,'"+wzname+"','"+style+"','"+memo+"','"+to_date(adate,'yyyy-mm-dd')+"',"+userid+","+gdeptid+","+deviceclassid+")");
报 to_date(adate,'yyyy-mm-dd')中的 yyyy-mm-dd 无效格式 跪求指导····

解决方案 »

  1.   

    sql.append(" values(seq_wzgl_wzid.nextval,'"+wzname+"','"+style+"','"+memo+"',to_date(adate,'yyyy-MM-dd'),"+userid+","+gdeptid+","+deviceclassid+")");
    试试
      

  2.   

    '"+to_date(adate,'yyyy-mm-dd')+"'
    这个字段不需要 ''吧
      

  3.   

    你改成to_char(adate,'yyyy-mm-dd')试试
      

  4.   

    adate是什么格式的 如果是字符串格式的可以   如果是日期格式的用 to_char
      

  5.   

    char转date用  to_date ,date转 char 用to_char 
      

  6.   

    adate  是 String类型  
      

  7.   

    测试一下 to_date('','yyyyMMdd');
    不知道为什么你的不行
    可以to_date(to_char(,'yyyyMMdd'),'yyyyMMdd');
    自己多做几个测试 就弄明白了
      

  8.   

    '"+to_date(adate,'yyyy-mm-dd')+"'
    这样转了之后还是字符串。改成这样"+to_date(adate,'yyyy-MM-dd')+"
      

  9.   

    +"','"+to_date(adate,'yyyy-mm-dd')+"',这个有问题啊 
    改为 +"',"+to_date(adate,'yyyy-mm-dd')+",to_date 转成时间型的 不能加‘’
      

  10.   

    'yyyy-MM-dd' 中要用MM 才是月, mm 好像是秒
      

  11.   

    to_date(to_char(sysdate,'YYYYMMDD'),'YYYY-MM-DD')
      

  12.   

    去掉‘’,依然有问题啊, 但是把“”去掉之后 就不报yyyy-MM-dd,的格式错误了,但新问题出来了,debug时,adate值传不进去,求解释····
      

  13.   

    是这样的,sql语句不会将使用加拼接的字符串转义成具体的方法,所以to_data()无法识别,建议使用?传参,并且可以防止sql注入...