From 14d2ff65641de9f96a0b22fccaa922d544c0d964 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 13 Dec 2023 14:47:29 +0800 Subject: [PATCH] Update : IsCorrectErrorSqlParameterName --- .../ResolveItems/BaseResolve_Append.cs | 17 +++++++++++++++-- .../SqlSugar/Utilities/DbExtensions.cs | 18 +++++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Append.cs b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Append.cs index 2eceef2f9..838d659c9 100644 --- a/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Append.cs +++ b/Src/Asp.NetCore2/SqlSugar/ExpressionsToSql/ResolveItems/BaseResolve_Append.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Text; +using System.Text.RegularExpressions; namespace SqlSugar { /// @@ -159,10 +160,22 @@ namespace SqlSugar { this.Context.Parameters.Add(new SugarParameter(appendValue, value) { IsArray = true }); } - else if (value!=null&&(value is Enum) &&this.Context?.SugarContext?.Context?.CurrentConnectionConfig?.MoreSettings?.TableEnumIsString == true) + else if (value != null && (value is Enum) && this.Context?.SugarContext?.Context?.CurrentConnectionConfig?.MoreSettings?.TableEnumIsString == true) { - this.Context.Parameters.Add(new SugarParameter(appendValue,Convert.ToString(value))); + this.Context.Parameters.Add(new SugarParameter(appendValue, Convert.ToString(value))); } + else if (this.Context + ?.SugarContext + ?.Context + ?.CurrentConnectionConfig + ?.MoreSettings + ?.IsCorrectErrorSqlParameterName == true + && columnInfo?.PropertyName != null + && !columnInfo.PropertyName.IsRegexWNoContainsChinese()) + { + appendValue = Context.SqlParameterKeyWord + appendValue.GetHashCode(); + this.Context.Parameters.Add(new SugarParameter(appendValue, value)); + } else { this.Context.Parameters.Add(new SugarParameter(appendValue, value)); diff --git a/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs b/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs index a89a19a05..00d39e0d2 100644 --- a/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs +++ b/Src/Asp.NetCore2/SqlSugar/Utilities/DbExtensions.cs @@ -121,7 +121,23 @@ namespace SqlSugar || value.ToLower().Contains(left + "create" + right) || value.ToLower().Contains(left + "insert" + right); } - + public static bool ContainsChinese(string input) + { + // 正则表达式:匹配包含至少一个中文字符的字符串 + string pattern = @"[\u4e00-\u9fa5]"; + return Regex.IsMatch(input, pattern); + } + public static bool IsRegexWNoContainsChinese(this string value) + { + if (!ContainsChinese(value)&&Regex.IsMatch(value, @"^\w+$")) + { + return true; + } + else + { + return false; + } + } public static string ToCheckRegexW(this string value) { if (Regex.IsMatch(value,@"^\w+$"))