string sSQLInsert = " INSERT INTO SysUser(USER_NAME,USER_PASSWORD,USER_ID,USER_INPUTDATE) VALUES ('" + txtUserName.Text.Trim() + "','" + txtUserPASSWORD.Text + "','" + User_ID.Text + "','" + Utility.ParseDateTime(DateBox.Text, DateTime.Parse("2010-08-06")).ToShortDateString() + "')";
总是报ORA-01861:。应该是日期转型错误。帮帮我!

解决方案 »

  1.   

    肯定是values里面那些逗号自己在看看 肯定里面有错
      

  2.   

    Utility.ParseDateTime(DateBox.Text, DateTime.Parse("2010-08-06")).ToShortDateString() + "')";这里错了
        日期转换错误
      
       Convert.todatetime("2010-08-06")
      

  3.   

    而后在查询分析器里用上述输出内容尝试 update,看会出现什么错误
      

  4.   

    + Utility.ParseDateTime(DateBox.Text, DateTime.Parse('2010-08-06')).ToShortDateString() +这不要用双引号  换成单引号!
      

  5.   

    把实际执行的SQL输出出来看看
      

  6.   


    DateTime.Parse("2010-08-06") 这是ParseDateTime的一个默认值。我给他的是2010-08-06。始终报错,就算换成你的还是一样的错。
      

  7.   

    Utility.ParseDateTime(string 参数1, DateTime 参数2)
    把你这个函数贴出来看下
      

  8.   

    尽量不要使用拼SQL形式,此类错误可以将执行脚本拿出来放到查询分析器中执行一下就知道了
      

  9.   


    恩,我试过 to_date(Utility.ParseDateTime(DateBox.Text, DateTime.Parse("2010-08-06")).ToShortDateString(),("YYYY-MM-DD"))没通过,应为to_date不存在我就没招了
      

  10.   


    用的是Oracle , 而且全是非空字段
      

  11.   


    string sSQLInsert = " INSERT INTO SysUser(USER_NAME,USER_PASSWORD,USER_ID,USER_INPUTDATE) VALUES ('" + txtUserName.Text.Trim() + "','" + txtUserPASSWORD.Text + "','" + User_ID.Text + "','" + Utility.ParseDateTime(DateBox.Text, DateTime.Parse("2010-08-06")).ToShortDateString() + "')";就是一条插入语句,而且表里面什么值都没有。
      

  12.   

    SQL转换时间
    to_date('2010-08-06','yyyy-mm-dd')
    如果这样的话,你对应的数据库字段类型必须要设置为date
      

  13.   


    恩,是date类型的,不过在studio里to_date显示不存在。我刚学什么都不懂,就要求我做几个小项目。
      

  14.   

    我觉得```你先放到SQL里面`执行一下有没有错误````如果语法没错``就``在程序里面```加个```try{}catch(ex){输出ex}
      

  15.   

    是不是你的UserID是主键,不需要插入啊?
      

  16.   

    ORA-01861: 文字与格式字符串不匹配  
    这个错误一般出现在时间字段上,即你插入的时间格式和数据库现有的时间格式不一致,解决的方法是格式化你
    插入的时间: to_date('#','yyyy-mm-dd hh24:mi:ss') 
      

  17.   

    恩,我请高手帮我解决了。主要就是date转型问题。最后还是用了to_date。只不过我用错了开始。谢谢大家的意见。就这么多分。就看着给啦
      

  18.   

    哦觉得是,字符串相加的时候出问题了
    这样处理下string Tdate="2010-08-06";
    string sSQLInsert = " INSERT INTO SysUser(USER_NAME,USER_PASSWORD,USER_ID,USER_INPUTDATE) VALUES ('" + txtUserName.Text.Trim() + "','" + txtUserPASSWORD.Text + "','" + User_ID.Text + "','" + Utility.ParseDateTime(DateBox.Text, DateTime.Parse(Tdate)).ToShortDateString() + "')";