示例#1
0
        /// <summary>
        /// Devuelve el tipo de operador (LIKE, IS NULL, IS NOT NULL, EQUALS, =,...) con las condiciones pasadas por params:<para/>
        /// EWhereComparisson wherecomparissontype -> tipo de operador (LIKE, IS NULL, IS NOT NULL, EQUALS, =,...)<para/>
        /// </summary>
        /// <param name="wherecomparissontype"></param>
        /// <returns></returns>
        public static string SqlBuilderWhereComparissonType(EWhereComparisson wherecomparissontype)
        {
            string sqlWhereClause = string.Empty;

            switch (wherecomparissontype)
            {
            case EWhereComparisson.WHITESPACE: sqlWhereClause += " "; break;

            case EWhereComparisson.ISNULL:     sqlWhereClause += " IS NULL "; break;

            case EWhereComparisson.ISNOTNULL:  sqlWhereClause += " IS NOT NULL "; break;

            case EWhereComparisson.LIKE:    sqlWhereClause += " LIKE "; break;

            case EWhereComparisson.NOTLIKE: sqlWhereClause += " NOT LIKE "; break;

            case EWhereComparisson.EQUALS:    sqlWhereClause += " = "; break;

            case EWhereComparisson.NOTEQUALS: sqlWhereClause += " <> "; break;

            case EWhereComparisson.GREATEROREQUALS: sqlWhereClause += " >= "; break;

            case EWhereComparisson.GREATERTHAN:     sqlWhereClause += " > "; break;

            case EWhereComparisson.LESSOREQUALS:    sqlWhereClause += " <= "; break;

            case EWhereComparisson.LESSTHAN:        sqlWhereClause += " < "; break;

            case EWhereComparisson.IN: sqlWhereClause += " IN "; break;

            default: break;
            }
            return(sqlWhereClause);
        }
示例#2
0
        /// <summary>
        /// Crea la cláusula WHERE con la condición pasada por params:<para/>
        /// EWhereLogicOperator -> tipo de operador lógico para WHERE múltiples (WHITESPACE, AND, OR)<para/>
        /// string -> columna a comparar<para/>
        /// EWhereComparisson -> tipo de comparación (LIKE, IS NULL, IS NOT NULL, =,...)<para/>
        /// ETipoDato -> Dependiendo del tipo de valor, añadirá comillas simples (strings, char,...) + valor, o sólo el valor (numéricos)<para/>
        /// string -> valor a comparar<para/>
        /// </summary>
        /// <param name="wherelogicoperator"></param>
        /// <param name="column"></param>
        /// <param name="wherecomparissontype"></param>
        /// <param name="wherecomparissonvaluetype"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string SqlBuilderWhereOneRegister(EWhereLogicOperator wherelogicoperator, string column, EWhereComparisson wherecomparissontype,
                                                        ETipoDato wherecomparissonvaluetype, string value)
        {
            string sqlWhereClause = string.Empty;

            //Tipo de operador lógico para WHERE múltiples
            sqlWhereClause += SqlBuilderWhereLogicOperator(wherelogicoperator);

            //Nombre de la columna a comparar
            sqlWhereClause += column;

            //Tipo de comparación
            sqlWhereClause += SqlBuilderWhereComparissonType(wherecomparissontype);

            if (wherecomparissontype != EWhereComparisson.ISNULL && wherecomparissontype != EWhereComparisson.ISNOTNULL)
            {
                //Dependiendo del tipo de valor, añadirá comillas simples (strings, char,...) + valor, o sólo el valor (numéricos)
                string wherecomparissonvalue = value.Equals(string.Empty) || value == null || value[0] == ' ' ? "%" : value;
                sqlWhereClause += SqlBuilderWhereComparissonValue(wherecomparissonvaluetype, wherecomparissonvalue);
            }

            return(sqlWhereClause.Replace("  ", " ")); //eliminamos el exceso de caracteres en blanco
        }