Serenity.Data.SqlUpdate.Format C# (CSharp) Method

Format() public static method

Formats an SQL UPDATE statement.
public static Format ( string tableName, string where, List nameValuePairs ) : string
tableName string /// Tablename (required).
where string /// WHERE clause (can be null).
nameValuePairs List /// Field name and values. Should have structure of [field1, value1, field2, value2, ...., fieldN, valueN]. /// This array is required and must have even number of elements.
return string
        public static string Format(string tableName, string where,
            List<string> nameValuePairs)
        {
            if (tableName == null || tableName.Length == 0)
                throw new ArgumentNullException(tableName);

            if (nameValuePairs == null)
                throw new ArgumentNullException("nameValuePairs");

            if (nameValuePairs.Count % 2 != 0)
                throw new ArgumentOutOfRangeException("nameValuePairs");

            StringBuilder sb = new StringBuilder("UPDATE ", 64 + where.Length +
                nameValuePairs.Count * 16);
            sb.Append(SqlSyntax.AutoBracketValid(tableName));
            sb.Append(" SET ");
            for (int i = 0; i < nameValuePairs.Count - 1; i += 2)
            {
                if (i > 0)
                    sb.Append(", ");
                sb.Append(SqlSyntax.AutoBracket(nameValuePairs[i]));
                sb.Append(" = ");
                sb.Append(nameValuePairs[i + 1]);
            }

            if (where != null && where.Length > 0)
            {
                sb.Append(" WHERE ");
                sb.Append(where);
            }

            return sb.ToString();
        }
    }