我是用C#向access数据库里插入一个时间日期的值,在access数据库内,该字段也是时间日期类型的.
比如我插入2008-10-1日,然后我用asp查询的时候,显示是正常的,
但我用C#操作ACCESS数据库查询出来的却变成了1008-10-10,换了多种方式都不行,包括在access数据库内使用多种查询方式都出同样的错误
把1号当成10号处理的
比如Select DateDiff('n',now,endDate) as leavminutes From [users] where username='xxx',(直接计算两日期的分钟间隔)
Select Format(endDate,'yyyy-MM-dd hh:mm:ss') as endDate From [users] where username='xxx'
直接输入出值,还有直接查询出该字段的值都是这样,真的很头痛,哪位有类似的经验,介绍一下解决办法.
这可能不是C#的毛病,但是access数据库似乎也没有问题,因为我用asp查询是没有问题的.

解决方案 »

  1.   

    C#查询的时候,应该没有关系的.因为我用这样的语句查询也出这样的错误,把1号当10号计算的
    Select DateDiff('n',now,endDate) as leavminutes From [users] where username='xxx',
      

  2.   

    我用C#操作access 日期 正常会不会是你 .net 环境设置有问题,你试试 DateTime.Now 的值是什么?
    或者access数据库有问题,新建一个数据库,随便添加一个表和日期字段,用C#测试看会不会正常。
      

  3.   

    ACCESS中的DateDiff函数和MSSQL应该是一样的吧!你的DataDiff函数的参数是不是有问题?我查了一下,好像n左右应该是双引号;
    Select DateDiff(  "n"  ,now,endDate) as leavminutes From [users] where username='xxx'
      

  4.   

    如果用ASP是正常的,那就不关数据库的事了。
    有可能是C#环境有问题,类库里面的日期取错了
      

  5.   

    Select DateDiff(  \"n\" ,now,endDate) as leavminutes From [users] where username='xxx'
      

  6.   

    用c# ToString("yyyy-mm-dd")试试···