C#-使用SqlSugar操作数据库导致的问题:托管调试助手“FatalExecutionEngineError”:运行时遇到了 错误。此错误的地址为。。。。

使用SqlSugar操作数据一定要注意:

对象的属性类型和数据库的字段类型要保持一致

对象的属性类型和数据库的字段类型要保持一致

对象的属性类型和数据库的字段类型要保持一致

本人基础太差了,这个小问题我从下午2点一致排错了23:00,终于解决了。

1,SqlSugar操作数据的代码

  public  class TighteningResultService
    {
        /// <summary>
        /// 插入一条记录
        /// </summary>
        /// <param name="log">日志记录对象</param>
        /// <returns>是否成功</returns>
        public static bool AddTighteningResult(TighteningResult data)
        {
            return SqlSugarHelper.SqlSugarClient.Insertable(data).ExecuteCommand() == 1;
        }

        /// <summary>
        /// 根据条件查询
        /// </summary>
        /// <param name="start">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="productSN">条码</param>
        /// <param name="tighteningStatus">拧紧状态</param>
        /// <returns></returns>
        public static List<TighteningResult> GetTighteningResultByCondiiton(string start, string end, string productSN, string tighteningStatus)
        {
            //根据时间查询
            var query = SqlSugarHelper.SqlSugarClient.Queryable<TighteningResult>()
                .Where(c => SqlFunc.Between(c.ResultDataTime, start, end));

            //条码
            if (productSN.Length > 0)
            {
                query.Where(c => c.ProductSN == productSN);
            }

            //拧紧状态
            if (tighteningStatus.Length > 0)
            {
                query.Where(c => c.TighteningStatus == tighteningStatus);
            }
            var list =query.ToList();
            return query.ToList();
        }

    }

  

2,报错如下:

 

3,找错过程,刚开始不知道哪里的问题

 【3.1】最终找到是这里引用的报错:查询的结果赋值给dgv

 

 

【3.2】打印测试查询到的对象集合内容,又出现新的报错了。

 

 

 【3.3】又进一步往上找错,查询到的数据看不到对象属性

 

 

 

4,终于找到了原因,是对象的属性类型和数据库的字段类型不一致导致的

解决办法:把real改到char(8)就解决了。

 

 

 

5,查询正常了  

 

posted @ 2022-01-15 22:59  包子789654  阅读(2530)  评论(0编辑  收藏  举报