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;

 

posted @ 2021-08-20 17:18  ChuckLu  阅读(30)  评论(0编辑  收藏  举报