asp.net中请问我添加一条时间记录到数据库里去,参数应该怎么转换呀
willtime是一个文本框,我想把文本框中所填的时间写到数据库中去,如下:
SqlComand comm=new SqlCommand(str,conn);
comm.Parameters.Add("@willtime",Convert.ToDateTime(willtime.Text.ToString()));
我这样写会报错,各位帮帮忙

解决方案 »

  1.   

    comm.Parameters.Add("@willtime",Convert.ToDateTime(willtime.Text.ToString()));
    报什么错误?
      

  2.   

    有可能是你的willtime.Text里面的值转换成日期格式的时候出错.就是不能转换成日期格式.
      

  3.   

    建议你这样做:
    comm.Parameters.Add("@willtime",typeof(DateTime));
    comm.Parameters["("@willtime"].Value=Convert.ToDateTime(willtime.Text);
      

  4.   

    报的错误是:System.FormatException: 该字符串未被识别为有效的 DateTime。
      

  5.   

    同意 brightheroes(闭关|那一剑的风情) 
    你首先要先判断一下,输入的字符串是否符合日期格式?
    可用正则表达式,
    ^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$
    参考:
    http://www.regexplib.com/
      

  6.   

    碰到时间参数我喜欢在数据库中转换insert into table (id,datetime) values ('"+id.Value+"',to_date('"+date.Vlaue+"','YYYY-MM-DD'));
      

  7.   

    楼上的to_date是什么意思,能否给个实例
      

  8.   

    可以用cdate(expression)转换成date形态
    'da.SelectCommand.Parameters.Add("dt1", OracleType.DateTime, 8).Value = CDate(wc1.Value).ToString("yyyy-MM-dd")
    oracletype你自己改吧