From ed9734385b8f755abf0247a137e8c6a8b79dd4ec Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 9 Jun 2022 20:28:24 +0800 Subject: [PATCH] Update Util.GetSqlString --- Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs b/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs index b5708bdae..3ee26c61e 100644 --- a/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs +++ b/Src/Asp.Net/SqlSugar/Utilities/UtilMethods.cs @@ -779,10 +779,21 @@ namespace SqlSugar { result = result.Replace(item.ParameterName, "0x" + BitConverter.ToString((byte[])item.Value)); } - else if (item.Value.GetType() !=UtilConstants.StringType&& connectionConfig.DbType == DbType.PostgreSQL&& PostgreSQLDbBind.MappingTypesConst.Any(x =>x.Value.ToString().EqualCase(item.Value.GetType().Name))) + else if (item.Value is bool) { - var type = PostgreSQLDbBind.MappingTypesConst.First(x => x.Value.ToString().EqualCase(item.Value.GetType().Name)).Key; - var replaceValue= string.Format("CAST('{0}' AS {1})", item.Value, type); + if (connectionConfig.DbType == DbType.PostgreSQL) + { + result = result.Replace(item.ParameterName, (Convert.ToBoolean(item.Value) ? "true": "false") ); + } + else + { + result = result.Replace(item.ParameterName, (Convert.ToBoolean(item.Value) ? 1 : 0) + ""); + } + } + else if (item.Value.GetType() != UtilConstants.StringType && connectionConfig.DbType == DbType.PostgreSQL && PostgreSQLDbBind.MappingTypesConst.Any(x => x.Value.ToString().EqualCase(item.Value.GetType().Name))) + { + var type = PostgreSQLDbBind.MappingTypesConst.First(x => x.Value.ToString().EqualCase(item.Value.GetType().Name)).Key; + var replaceValue = string.Format("CAST('{0}' AS {1})", item.Value, type); result = result.Replace(item.ParameterName, replaceValue); } else if (connectionConfig.MoreSettings?.DisableNvarchar == true || item.DbType == System.Data.DbType.AnsiString || connectionConfig.DbType == DbType.Sqlite)