zoukankan      html  css  js  c++  java
  • EF中关于日期字值的处理

    一、SQL语句方式

       var datefrom = DateTime.Parse(fromdate);
       var dateto = DateTime.Parse(todate);

      var sql = string.Format("insert into {0}(id,regionid,fromdate,todate,createdate) values('{1}','{2}',{3},{4},{5})", typeof(DownloadHistory).Name, taskid, region.ID,datefrom,dateto,DateTime.Now);
      int i = dbContext.Database.ExecuteSqlCommand(sql);

       执行时,报错:System.Data.SqlClient.SqlException:“Incorrect syntax near '0'.”

      需改成以下方式来执行:

    object objFrom = datefrom;
    object objTo = dateto;
    object objNow = DateTime.Now;
    var sql = string.Format("insert into {0}(id,regionid,fromdate,todate,createdate) values('{1}','{2}',@fromdate,@todate,@createdate)", typeof(DownloadHistory).Name, taskid, region.ID);
    var parameters = new SqlParameter[]
    {
    new SqlParameter("@fromdate",objFrom),
    new SqlParameter("@todate",objTo),
    new SqlParameter("@createdate",objNow)
    };
    int i = dbContext.Database.ExecuteSqlCommand(sql, parameters);

    二、DateTime?类型字段的处理(日期为空)

      (1) 如果使用EF语句来执行,必须使用以下语法:

       DateTime? ohzrq = null;  //ef用法

      (2)如果是SQL语句来执行,必须使用以下语法:

       object ohzrq = DBNull.Value;

  • 相关阅读:
    每日总结6.14
    每日总结6.13
    每日总结6.12
    每日总结6.11
    用户故事与敏捷方法阅读笔记4
    用户故事与敏捷方法阅读笔记3
    团队冲刺第一阶段燃尽图
    团队冲刺10
    智能物联网:将人工智能的力量带入物联网
    MyEclipse修改文件后Building workspace时间过长
  • 原文地址:https://www.cnblogs.com/SimpleGIS/p/9938055.html
Copyright © 2011-2022 走看看