兼容模式 在 使用表达式更新 时字段名的括号边会多出空格的问题 返回

实体:
程序:
报错:
把表达式转换成SQL语句时括号处多加了空格。
热忱回答(10)
-
fate sta VIP0
1周前SqlSugarCore 5.1.4.176-preview11
更新到最新预览版本已支持
0 回复 -
\u0001\u VIP0
1周前@fate sta:
更新后原来可以运行的代码报错了,报错的信息如下:
[Sql]:UPDATE [数码印刷工作表] SET
[实收] =(ISNULL([应收],@MethodConst2) * @Const3 , [实收印制费] =((( CASE WHEN (((ISNULL([印刷费],@MethodConst15) +ISNULL([设计制作费],@MethodConst16)) + ISNULL([其他费用],@MethodConst17)) = @Const18 ) THEN @MethodConst19 ELSE (ISNULL([印刷费],@MethodConst20) /((ISNULL([印刷费],@MethodConst21) +ISNULL([设计制作费],@MethodConst22)) + ISNULL([其他费用],@MethodConst23))) END ) *ISNULL([应收],@MethodConst24)) * @Const25 , [实收设计费] =((( CASE WHEN (((ISNULL([印刷费],@MethodConst37) +ISNULL([设计制作费],@MethodConst38)) + ISNULL([其他费用],@MethodConst39)) = @Const40 ) THEN @MethodConst41 ELSE (ISNULL([设计制作费],@MethodConst42) /((ISNULL([印刷费],@MethodConst43) +ISNULL([设计制作费],@MethodConst44)) + ISNULL([其他费用],@MethodConst45))) END ) *ISNULL([应收],@MethodConst46)) * @Const47 WHERE ( [收款单号] = @p1121269290no48 )
[Pars]:
[Name]:@MethodConst0 [Value]:0 [Type]:Decimal
[Name]:@Const1 [Value]:0.8474576271186440677966101695 [Type]:Decimal
[Name]:@MethodConst2 [Value]:0 [Type]:Decimal
[Name]:@Const3 [Value]:0.8474576271186440677966101695 [Type]:Decimal
[Name]:@MethodConst4 [Value]:0 [Type]:Decimal
[Name]:@MethodConst5 [Value]:0 [Type]:Decimal
[Name]:@MethodConst6 [Value]:0 [Type]:Decimal
[Name]:@Const7 [Value]:0 [Type]:Decimal
[Name]:@MethodConst8 [Value]:1 [Type]:Decimal
[Name]:@MethodConst9 [Value]:0 [Type]:Decimal
[Name]:@MethodConst10 [Value]:0 [Type]:Decimal
[Name]:@MethodConst11 [Value]:0 [Type]:Decimal
[Name]:@MethodConst12 [Value]:0 [Type]:Decimal
[Name]:@MethodConst13 [Value]:0 [Type]:Decimal
[Name]:@Const14 [Value]:0.8474576271186440677966101695 [Type]:Decimal
[Name]:@MethodConst15 [Value]:0 [Type]:Decimal
[Name]:@MethodConst16 [Value]:0 [Type]:Decimal
[Name]:@MethodConst17 [Value]:0 [Type]:Decimal
[Name]:@Const18 [Value]:0 [Type]:Decimal
[Name]:@MethodConst19 [Value]:1 [Type]:Decimal
[Name]:@MethodConst20 [Value]:0 [Type]:Decimal
[Name]:@MethodConst21 [Value]:0 [Type]:Decimal
[Name]:@MethodConst22 [Value]:0 [Type]:Decimal
[Name]:@MethodConst23 [Value]:0 [Type]:Decimal
[Name]:@MethodConst24 [Value]:0 [Type]:Decimal
[Name]:@Const25 [Value]:0.8474576271186440677966101695 [Type]:Decimal
[Name]:@MethodConst26 [Value]:0 [Type]:Decimal
[Name]:@MethodConst27 [Value]:0 [Type]:Decimal
[Name]:@MethodConst28 [Value]:0 [Type]:Decimal
[Name]:@Const29 [Value]:0 [Type]:Decimal
[Name]:@MethodConst30 [Value]:0 [Type]:Decimal
[Name]:@MethodConst31 [Value]:0 [Type]:Decimal
[Name]:@MethodConst32 [Value]:0 [Type]:Decimal
[Name]:@MethodConst33 [Value]:0 [Type]:Decimal
[Name]:@MethodConst34 [Value]:0 [Type]:Decimal
[Name]:@MethodConst35 [Value]:0 [Type]:Decimal
[Name]:@Const36 [Value]:0.8474576271186440677966101695 [Type]:Decimal
[Name]:@MethodConst37 [Value]:0 [Type]:Decimal
[Name]:@MethodConst38 [Value]:0 [Type]:Decimal
[Name]:@MethodConst39 [Value]:0 [Type]:Decimal
[Name]:@Const40 [Value]:0 [Type]:Decimal
[Name]:@MethodConst41 [Value]:0 [Type]:Decimal
[Name]:@MethodConst42 [Value]:0 [Type]:Decimal
[Name]:@MethodConst43 [Value]:0 [Type]:Decimal
[Name]:@MethodConst44 [Value]:0 [Type]:Decimal
[Name]:@MethodConst45 [Value]:0 [Type]:Decimal
[Name]:@MethodConst46 [Value]:0 [Type]:Decimal
[Name]:@Const47 [Value]:0.8474576271186440677966101695 [Type]:Decimal
[Name]:@p1121269290no48 [Value]:54136 [Type]:Int32
[Name]:@编号 [Value]:0 [Type]:Int32
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
Unhandled exception in circuit 'MxIKqPY1AW_ECjCy_bSnZJE1ro8zIHgqFMRn9xQ0lxk'.
Microsoft.Data.SqlClient.SqlException (0x80131904): ',' 附近有语法错误。
关键字 'CASE' 附近有语法错误。
'ISNULL' 附近有语法错误。
关键字 'CASE' 附近有语法错误。
'ISNULL' 附近有语法错误。
at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters)
at SqlSugar.UpdateableProvider`1.ExecuteCommand()
at HtERP.Components.Pages.HtReceipt.计算各项实收(Int32 i, Decimal b) in E:\MEG_Pro\repo\HtPrintMGT\HtERP\Components\Pages\HtReceipt.razor:line 784
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.PostAsync[TState](Task antecedent, Action`1 callback, TState state)
ClientConnectionId:a3895487-6a51-4a27-9596-9592a68436a4
Error Number:102,State:1,Class:15
0 回复 -
\u0001\u VIP0
1周前对比一下同一段代码生成的SQL语句:
0 回复 -
fate sta VIP0
1周前为了减少沟通,提供建表脚本和DEMO ,删掉obj和bin打包上传
0 回复 -
\u0001\u VIP0
1周前0 回复 -
fate sta VIP0
1周前给脚本建表肯定不支持你这种兼容模式
0 回复 -
fate sta VIP0
1周前修复了
0 回复 -
fate sta VIP0
1周前SqlSugarCore 5.1.4.176-preview15
已修复
0 回复 -
\u0001\u VIP0
1周前@fate sta:更新后问题解决了,万分感谢
0 回复 -
\u0001\u VIP0
1周前刚刚测试时发现一个问题:
插入时报错
[Sql]:INSERT INTO [Demo]
([Name],[长(mm)],[宽(mm)])
VALUES
(@Name,@CrorrPara0,@CrorrPara1) ;
[Pars]:
[Name]:@Name [Value]:mike [Type]:String
[Name]:@长(mm) [Value]:20 [Type]:Double
[Name]:@宽(mm) [Value]:30 [Type]:Double
[Name]:@CrorrPara0 [Value]:20 [Type]:Double
[Name]:@CrorrPara1 [Value]:30 [Type]:Double
插入错误:Incorrect syntax near '('.
Must declare the scalar variable "@CrorrPara0".
附Demo
0 回复