mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-24 16:18:47 +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 =>
|
sb.AppendLine(string.Join("\r\n", groupList.Select(t =>
|
||||||
{
|
{
|
||||||
var updateTable = string.Format("UPDATE {0} SET", base.GetTableNameStringNoWith);
|
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();
|
var pkList = t.Where(s => s.IsPrimarykey).ToList();
|
||||||
List<string> whereList = new List<string>();
|
List<string> whereList = new List<string>();
|
||||||
foreach (var item in pkList)
|
foreach (var item in pkList)
|
||||||
{
|
{
|
||||||
var isFirst = pkList.First() == item;
|
var isFirst = pkList.First() == item;
|
||||||
var whereString = "";
|
var whereString = "";
|
||||||
whereString += GetOracleUpdateColums(i,item);
|
whereString += GetOracleUpdateColums(i,item,true);
|
||||||
whereList.Add(whereString);
|
whereList.Add(whereString);
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
@ -30,12 +30,12 @@ namespace SqlSugar
|
|||||||
return sb.ToString();
|
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)
|
if (value == null)
|
||||||
{
|
{
|
||||||
@ -44,7 +44,7 @@ namespace SqlSugar
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var type = UtilMethods.GetUnderType(value.GetType());
|
var type = UtilMethods.GetUnderType(value.GetType());
|
||||||
if (type == UtilConstants.DateType)
|
if (type == UtilConstants.DateType && iswhere == false)
|
||||||
{
|
{
|
||||||
var date = value.ObjToDate();
|
var date = value.ObjToDate();
|
||||||
if (date < Convert.ToDateTime("1900-1-1"))
|
if (date < Convert.ToDateTime("1900-1-1"))
|
||||||
@ -53,6 +53,12 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
|
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())
|
else if (type.IsEnum())
|
||||||
{
|
{
|
||||||
return Convert.ToInt64(value);
|
return Convert.ToInt64(value);
|
||||||
|
@ -54,8 +54,23 @@ namespace OrmTest
|
|||||||
UValidate.Check(sql.Key, @"UPDATE `Diary` SET
|
UValidate.Check(sql.Key, @"UPDATE `Diary` SET
|
||||||
`TypeID` = @Const0 WHERE ( `ID` = @ID1 )", "Updateable");
|
`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 class UnitSaveDiary
|
||||||
{
|
{
|
||||||
public int ID { get; set; }
|
public int ID { get; set; }
|
||||||
|
Loading…
Reference in New Issue
Block a user