Update sqlite datetimeoffset bug

This commit is contained in:
sunkaixuan 2022-08-29 12:20:19 +08:00
parent 5dfbfb7b7b
commit 7c1221d786
2 changed files with 31 additions and 1 deletions

View File

@ -116,6 +116,10 @@ namespace SqlSugar
return Convert.ToInt64(value);
}
}
else if (type == UtilConstants.DateTimeOffsetType)
{
return GetDateTimeOffsetString(value);
}
else if (type == UtilConstants.ByteArrayType)
{
var parameterName = this.Builder.SqlParameterKeyWord + name + i;
@ -132,9 +136,29 @@ namespace SqlSugar
}
else
{
return "'"+value.ToString() + "'";
return "'" + value.ToString() + "'";
}
}
}
private object GetDateTimeOffsetString(object value)
{
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
if (date < UtilMethods.GetMinDate(this.Context.CurrentConnectionConfig))
{
date = UtilMethods.GetMinDate(this.Context.CurrentConnectionConfig);
}
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
}
private object GetDateTimeString(object value)
{
var date = value.ObjToDate();
if (date < UtilMethods.GetMinDate(this.Context.CurrentConnectionConfig))
{
date = UtilMethods.GetMinDate(this.Context.CurrentConnectionConfig);
}
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
}
}
}

View File

@ -111,6 +111,12 @@ namespace SqlSugar
{
sqlParameter.DbType = System.Data.DbType.AnsiString;
}
else if (parameter.DbType == System.Data.DbType.DateTimeOffset)
{
if (sqlParameter.Value != DBNull.Value)
sqlParameter.Value = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)sqlParameter.Value);
sqlParameter.DbType = System.Data.DbType.DateTime;
}
++index;
}
return result;