为什么我这样写会报致命错误 ? 返回
SqlSugar
老数据
3
1863
悬赏:5 飞吻
return await TaskHelper.AsyncExecutionRezult(() =>
{
try
{
using (SqlSugarClient DbObj = db.GetInstance(DB.db_core.GetAttributeValue()))
{
var query = DbObj.Queryable<tb_readonly_invoice_data>()
.WhereIF(inModel.MatnrList.IsAny(), p => p.MATNR, inModel.MatnrList)
.WhereIF(inModel.WerksList.IsAny(), p => p.WERKS, inModel.WerksList)
.WhereIF(inModel.FkdatStart != null, p => p.FKDAT >= inModel.FkdatStart)
.WhereIF(inModel.SalesGroup.IsNotNullOrEmpty(), p => p.VKGRP == inModel.SalesGroup)
;
//string inStringSql = "";
//if (inModel.FkdatStart != null)
//{
// inStringSql += " force index(idx_FKDAT) ";
//}
//string sqlResult = query.ToSql().Key.Insert(query.ToSql().Key.IndexOf("WHERE 1=1"),
// inStringSql);
return DbObj.SqlQuery<tb_readonly_invoice_data>(query.ToSql().Key, query.ToSql().Value);
}
}
catch (Exception ex)
{
log.Errorlog("E", Name, MethodBase.GetCurrentMethod().Name, ex.ToString());
return null;
}
});
但是我十分确认,我确实已经定义了这个参数 .

热忱回答(3)
-
Aaron 傲 VIP0
2019/10/5有没有用办法吧String转换为 new{a:1,b:b} 这种形式 ?
0 回复 -
虫儿飞 VIP0
2020/11/13你的解决了吗,我的偶偶也会出现这个执行命令致命错误,百度说加上Allow User Variables=True根本解决不了,执行很简单的sql查询都这样有时候
0 回复 -
Aaron 傲 VIP0
2020/11/13@虫儿飞:还真的找到了 , 有一个超时参数 , 以s为单位计数,用之前把那个参数调大一点就好了 . 超时了也会报致命错误 .
DbObj.Ado.CommandTimeOut .
但是参数太大也会报错 , 你自己多试试几个 , 我自己一般用 60 * 60 *2 . 这样写的. 比较直观 .
这样写本身是不会有问题的.
0 回复