java.util.Date time=new java.util.Date();
smt.executeUpdate("update jspdev set userlogcount='"+count+"',userlastlogtime='"+time+"'");数据库里面的userlastlogtime是date类型,执行输出ORA-01858: 在要求输入数字处找到非数字字符

解决方案 »

  1.   

    它说的是你这块不对:
    set userlogcount='"+count+"'这个字段应该是要求你输入数字类型的。
    估计是单引号没用对。没匹配上。
      

  2.   

    你直接用to_date() 把字符串 轉為date 類型
      

  3.   

    改成下面的代码试一下。
    smt.executeUpdate("update jspdev set userlogcount=" + count + ",userlastlogtime='" + time + "'");如果还有错,改成下面的再试一下:
    smt.executeUpdate("update jspdev set userlogcount= 3, userlastlogtiem='2011-11月-10 00:00:00");如果还不行,不要使用java.sql.Date类型,而使用java.sql.Date类型。
      

  4.   

    java.util.Date time=new java.util.Date();
    java.sql.Date sqltime=new java.sql.Date(time.getTime());
    smt.executeUpdate("update jspdev set userlogcount="+count+",userlastlogtime=to_date('"+sqltime+"','yyyyMMddhh24miss') where name='"+name+"'");改成这样后又提示
    ORA-01843: 无效的月份
    有人说把客户端改成中文,怎么改
      

  5.   

    问题出在:to_date('"+sqltime+"','yyyyMMddhh24miss') 
    你的sqltime的值是多少?
    在数据库里直接执行下面语句试试:
    select to_date('sqltime','yyyyMMddhh24miss')  from dual;
      

  6.   

    userlogcount="+count+"改为
    userlogcount=to_number("+count+"),试试