DateTime dt = DateTime.Now;
string startTime = "", endTime = "";
startTime += dt.Year.ToString("") + "-" + dt.Month.ToString("") + "-" + dt.Day.ToString("") + " ";
startTime += (dt.Hour - 1).ToString("") + ":00:00";
endTime += dt.Year.ToString("") + "-" + dt.Month.ToString("") + "-" + dt.Day.ToString("") + " ";
endTime += dt.Hour.ToString("") + ":00:00";
AvgHourGasModel gas = new AvgHourGasModel();对Access数据库操作的时候老是出现“标准表达式中数据类型不匹配”
Access中的有一个字段为Date类型,请问怎么修改呢?
谢谢

解决方案 »

  1.   

    把型如这样的dt.Year.ToString("") 改成dt.Year.ToString() 试试
      

  2.   


    还是用文本型存储时间类型把
    如果查询的话 可以使用Access内置函数 "CDATE(字段)" 转为时间类型 进行时间比较查询
      

  3.   

    select*from table where adate>"#2000-02-02#"
    好象这个了
      

  4.   

    忘记说了,原先的数据格式是不能改的
    二楼,不好意思
    把型如这样的dt.Year.ToString("") 就是dt.Year.ToString(),我写错了
    改成dt.Year.ToString()也是不行的
      

  5.   

    我按照4楼的方法改成下面的代码了,结果还是不行
    string startTime = "#", endTime = "#";
                startTime += dt.Year.ToString("") + "-" + dt.Month.ToString("") + "-" + dt.Day.ToString("") + " ";
                startTime += (dt.Hour - 1).ToString("") + ":00:00#";
                endTime += dt.Year.ToString("") + "-" + dt.Month.ToString("") + "-" + dt.Day.ToString("") + " ";
                endTime += dt.Hour.ToString("") + ":00:00#";
      

  6.   

    不用这个去拼接哦。直接这样:DateTime dt = DateTime.Now;
    string startTime = dt.AddHours(-1).ToString("yyyy-MM-dd hh:00:00");
    string endTime = dt.ToString("yyyy-MM-dd hh:00:00");
    对Access数据库操作的时候老是出现“标准表达式中数据类型不匹配” 
    Access中的有一个字段为Date类型,请问怎么修改呢? 
    -------------------------------------------------
    把你的操作的代码和SQL 贴出来。
      

  7.   

    是不是系统设置的时间格式的问题? dd/mm/yy会影响到么? 
      

  8.   

    selectSql = "select * from Tb where 日期 between #"+ start+"#  and  #" + end+"#"