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('@');
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;
}
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;
if (param.Value == DBNull.Value)
@ -133,7 +138,7 @@ namespace SqlSugar.ClickHouse
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;
if (param.Value == DBNull.Value)
@ -141,15 +146,15 @@ namespace SqlSugar.ClickHouse
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;
}
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");
}
else if (dbtype.ObjToString() == System.Data.DbType.Boolean.ToString())
else if (dbTypeString == System.Data.DbType.Boolean.ToString())
{
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("\"","'"));
}
}
else if (dbtype.ObjToString() == "DateTime" && param.Value == DBNull.Value)
else if (dbTypeString == "DateTime" && param.Value == DBNull.Value)
{
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");
}