Update ClickHouse

This commit is contained in:
sunkaixuan 2025-04-29 14:52:37 +08:00
parent 36714dc9d8
commit 7c79749b9e

View File

@ -121,11 +121,16 @@ namespace SqlSugar.ClickHouse
{ {
var newName = param.ParameterName.TrimStart('@'); var newName = param.ParameterName.TrimStart('@');
object dbtype = param.DbType; object dbtype = param.DbType;
if (dbtype.ObjToString() == System.Data.DbType.Decimal.ToString()) var dbTypeString= dbtype.ObjToString();
if (dbtype is System.Data.DbType.AnsiString)
{
dbtype = System.Data.DbType.String;
}
if (dbTypeString == System.Data.DbType.Decimal.ToString())
{ {
dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.@decimal).Key; dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.@decimal).Key;
} }
if (dbtype.ObjToString() == System.Data.DbType.Guid.ToString()) if (dbTypeString == System.Data.DbType.Guid.ToString())
{ {
dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.Guid).Key; dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.Guid).Key;
if (param.Value == DBNull.Value) if (param.Value == DBNull.Value)
@ -133,7 +138,7 @@ namespace SqlSugar.ClickHouse
sql = sql.Replace(param.ParameterName, "null"); sql = sql.Replace(param.ParameterName, "null");
} }
} }
if (dbtype.ObjToString() == System.Data.DbType.Int64.ToString()) if (dbTypeString == System.Data.DbType.Int64.ToString())
{ {
dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.@long).Key; dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.@long).Key;
if (param.Value == DBNull.Value) if (param.Value == DBNull.Value)
@ -141,15 +146,15 @@ namespace SqlSugar.ClickHouse
sql = sql.Replace(param.ParameterName, "null"); sql = sql.Replace(param.ParameterName, "null");
} }
} }
if (dbtype.ObjToString() == System.Data.DbType.SByte.ToString()) if (dbTypeString == System.Data.DbType.SByte.ToString())
{ {
dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.@sbyte).Key; dbtype = ClickHouseDbBind.MappingTypesConst.First(it => it.Value == CSharpDataType.@sbyte).Key;
} }
if (param.Value != null && param.Value != DBNull.Value && dbtype.ObjToString() == System.Data.DbType.Boolean.ToString()) if (param.Value != null && param.Value != DBNull.Value && dbTypeString == System.Data.DbType.Boolean.ToString())
{ {
sql = sql.Replace(param.ParameterName, param.Value.ObjToBool() ? "1" : "0"); sql = sql.Replace(param.ParameterName, param.Value.ObjToBool() ? "1" : "0");
} }
else if (dbtype.ObjToString() == System.Data.DbType.Boolean.ToString()) else if (dbTypeString == System.Data.DbType.Boolean.ToString())
{ {
sql = sql.Replace(param.ParameterName, "null"); sql = sql.Replace(param.ParameterName, "null");
} }
@ -164,11 +169,11 @@ namespace SqlSugar.ClickHouse
sql = sql.Replace(param.ParameterName, this.Context.Utilities.SerializeObject(param.Value).Replace("\"","'")); sql = sql.Replace(param.ParameterName, this.Context.Utilities.SerializeObject(param.Value).Replace("\"","'"));
} }
} }
else if (dbtype.ObjToString() == "DateTime" && param.Value == DBNull.Value) else if (dbTypeString == "DateTime" && param.Value == DBNull.Value)
{ {
sql = sql.Replace(param.ParameterName, "null"); sql = sql.Replace(param.ParameterName, "null");
} }
else if (dbtype.ObjToString() == "UUID" && param.Value == DBNull.Value) else if (dbTypeString == "UUID" && param.Value == DBNull.Value)
{ {
sql = sql.Replace(param.ParameterName, "null"); sql = sql.Replace(param.ParameterName, "null");
} }