mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-05 17:37:58 +08:00
Sqlite Updateable.WhereColumns date type bug
This commit is contained in:
parent
c4265b98dd
commit
ec35f811d9
@ -14,14 +14,14 @@ namespace SqlSugar
|
||||
sb.AppendLine(string.Join("\r\n", groupList.Select(t =>
|
||||
{
|
||||
var updateTable = string.Format("UPDATE {0} SET", base.GetTableNameStringNoWith);
|
||||
var setValues = string.Join(",", t.Where(s => !s.IsPrimarykey).Select(m => GetOracleUpdateColums(i,m)).ToArray());
|
||||
var setValues = string.Join(",", t.Where(s => !s.IsPrimarykey).Select(m => GetOracleUpdateColums(i,m,false)).ToArray());
|
||||
var pkList = t.Where(s => s.IsPrimarykey).ToList();
|
||||
List<string> whereList = new List<string>();
|
||||
foreach (var item in pkList)
|
||||
{
|
||||
var isFirst = pkList.First() == item;
|
||||
var whereString = "";
|
||||
whereString += GetOracleUpdateColums(i,item);
|
||||
whereString += GetOracleUpdateColums(i,item,true);
|
||||
whereList.Add(whereString);
|
||||
}
|
||||
i++;
|
||||
@ -30,12 +30,12 @@ namespace SqlSugar
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private string GetOracleUpdateColums(int i,DbColumnInfo m)
|
||||
private string GetOracleUpdateColums(int i,DbColumnInfo m,bool iswhere)
|
||||
{
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(), FormatValue(i,m.DbColumnName,m.Value));
|
||||
return string.Format("\"{0}\"={1}", m.DbColumnName.ToUpper(), FormatValue(i,m.DbColumnName,m.Value,iswhere));
|
||||
}
|
||||
|
||||
public object FormatValue(int i,string name,object value)
|
||||
public object FormatValue(int i,string name,object value,bool iswhere)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
@ -44,7 +44,7 @@ namespace SqlSugar
|
||||
else
|
||||
{
|
||||
var type = UtilMethods.GetUnderType(value.GetType());
|
||||
if (type == UtilConstants.DateType)
|
||||
if (type == UtilConstants.DateType && iswhere == false)
|
||||
{
|
||||
var date = value.ObjToDate();
|
||||
if (date < Convert.ToDateTime("1900-1-1"))
|
||||
@ -53,6 +53,12 @@ namespace SqlSugar
|
||||
}
|
||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
||||
}
|
||||
else if (type == UtilConstants.DateType && iswhere)
|
||||
{
|
||||
var parameterName = this.Builder.SqlParameterKeyWord + name + i;
|
||||
this.Parameters.Add(new SugarParameter(parameterName, value));
|
||||
return parameterName;
|
||||
}
|
||||
else if (type.IsEnum())
|
||||
{
|
||||
return Convert.ToInt64(value);
|
||||
|
@ -54,8 +54,23 @@ namespace OrmTest
|
||||
UValidate.Check(sql.Key, @"UPDATE `Diary` SET
|
||||
`TypeID` = @Const0 WHERE ( `ID` = @ID1 )", "Updateable");
|
||||
|
||||
Db.CodeFirst.InitTables<UnitDSsdfa>();
|
||||
var dt = DateTime.Now;
|
||||
Db.Insertable(new UnitDSsdfa() { pk = dt, value = 1 }).ExecuteCommand();
|
||||
var list = new List<UnitDSsdfa>() { new UnitDSsdfa() { pk = dt, value = 2 } };
|
||||
for (int i = 0; i < 100; i++)
|
||||
{
|
||||
list.Add(new UnitDSsdfa() { pk = dt, value = 2 });
|
||||
}
|
||||
var res1=Db.Updateable(list).WhereColumns(it=>it.pk).ExecuteCommand();
|
||||
|
||||
}
|
||||
}
|
||||
public class UnitDSsdfa {
|
||||
|
||||
public DateTime pk { get; set; }
|
||||
public int value { get; set; }
|
||||
}
|
||||
public class UnitSaveDiary
|
||||
{
|
||||
public int ID { get; set; }
|
||||
|
Loading…
Reference in New Issue
Block a user