我的数据库时间字段是常规日期类型,也就是时形如2004-9-12 16:45:34样式,但是我使用VS,总是在OleDbParameter中识别为DBDate,而不是System.Data.OleDb.OleDbType.DBTimeStamp形,这样导致写入或者更新纪录时,时间部分搞成了00:00:00,请问怎么回事?

解决方案 »

  1.   

    OleDbType里Date,DBDate,DBTimeStamp类型都映射到 .net里的DateTime类型
    那么你在程序里传递的2004-9-12 16:45:34让OleDbParameter怎么分辨呢?它怎么知道你到底要用上面3种类型的那一种呢?所以,有的时候你必须要自己动手指定该用什么类型。
    yourParameters.Add("yourTime", OleDbType.DBTimeStamp).Value = DateTime.Parse("2004-9-12 16:45:34");
      

  2.   

    楼上使用VS开发么?
    是command里的?号需要添加的Parameter
    用查询器创建DataAdapter的时候,VS自动创建这个参数,但是为什么不能自动识别SCCESS的日期格式类型?但是其他数据类型都能自动设置。