AddQueue 参数化时的BUG 返回

SqlSugar 老数据
1 1959

代码:

_SugarClient.AddQueue("update [Department] set [Level]=@theLevel+SUBSTRING([Level],len(@replaceLevel)+1,len([Level])) where SUBSTRING([Level],0,len(@replaceLevel)+1)=@replaceLevel",

                            new { theLevel = oldData.Level + ",",replaceLevel = oldLevel + ",",  });


错误:

Must declare the scalar variable \"@theLevel\".

sugar生成的代码:

declare 

@replaceLevel_q_2 nvarchar(100)='100,101,',

@theLevel_q_2 nvarchar(100)='104,101,'

update [Department] set [Level]=@theLevel+SUBSTRING([Level],len(@replaceLevel_q_2)+1,len([Level])) where SUBSTRING([Level],0,len(@replaceLevel_q_2)+1)=@replaceLevel_q_2;


替换参数名的时候并没有替换到sql的theLevel,但把参数中的theLevel替换了。


升级到最新版本也是有这个错误。

热忱回答1

  • 你先试试加上空格改变一下正则格式,下个版本修复

    0 回复