Kentico updateall
kentico12\DataEngine\Database\Abstract\AbstractSqlGenerator.cs
// UPDATE ALL query
case SqlOperationTypeEnum.UpdateAll:
{
sb.Append("UPDATE ", tableName, " SET ##VALUES## WHERE ##WHERE##");
}
break;
遇到的问题是
[SqlHelper.ReplaceColumns]: Missing ##COLUMNS## macro in the query text 'UPDATE WOT_MyLodRequest SET ##VALUES## WHERE ##WHERE##', cannot apply the specified columns '[ConfirmationResultCode]=3, [ItemModifiedBy]=87007, [ItemModifiedWhen]=GetDate()'.
前台的代码需要按照这个写,这里的变量命名,应该是keyvalue而不是columns。导致错误代码,会把这里的columns赋值给QueryMacros的Columns属性
string where = string.Format("UserID in ({0})", userIDlist);
string columns = string.Format("AutomaticalyCardOrder{0} = 0", EmployeeCard.GetCardTypeLabel(cardType));
QueryMacros queryMacros = new QueryMacros
{
Where = where,
OrderBy = null,
TopN = 0,
Values = columns
};
string where = string.Format("UserID in ({0})", userIDlist);
string columns = string.Format("AutomaticalyCardOrder{0} = 0", EmployeeCard.GetCardTypeLabel(cardType));
QueryMacros queryMacros = new QueryMacros
{
Where = where,
OrderBy = null,
TopN = 0,
Values = columns
};
delete all
case SqlOperationTypeEnum.DeleteAll:
{
sb.Append("DELETE FROM ", tableName, " WHERE ##WHERE##");
}
break;