Esempio n. 1
0
        /// <summary>
        /// Devuelve el valor a comparar (con comillas simples '' para strings, sin comillas simples para numéricos) con las condiciones pasadas por params:<para/>
        /// ETipoDato wherecomparissonvaluetype -> tipo de dato del valor de la condición a comparar<para/>
        /// string wherecomparissonvalue -> valor de la condición a comparar<para/>
        /// </summary>
        /// <param name="wherecomparissonvaluetype"></param>
        /// <param name="wherecomparissonvalue"></param>
        /// <returns></returns>
        public static string SqlBuilderWhereComparissonValue(ETipoDato wherecomparissonvaluetype, string wherecomparissonvalue)
        {
            string sqlWhereClause = string.Empty;

            switch (wherecomparissonvaluetype)
            {
            case ETipoDato.DBstring:   sqlWhereClause += " '" + wherecomparissonvalue + "' "; break;

            case ETipoDato.DBchar:     sqlWhereClause += " '" + wherecomparissonvalue[0] + "' "; break;

            case ETipoDato.DBbyte:     sqlWhereClause += " " + wherecomparissonvalue + " "; break;

            case ETipoDato.DBshort:    sqlWhereClause += " " + wherecomparissonvalue + " "; break;

            case ETipoDato.DBint:      sqlWhereClause += " " + wherecomparissonvalue + " "; break;

            case ETipoDato.DBlong:     sqlWhereClause += " " + wherecomparissonvalue + " "; break;

            case ETipoDato.DBdecimal:  sqlWhereClause += " " + wherecomparissonvalue + " "; break;

            case ETipoDato.DBdouble:   sqlWhereClause += " " + wherecomparissonvalue + " "; break;

            case ETipoDato.DBdatetime: sqlWhereClause += " '" + wherecomparissonvalue + "' "; break;

            default: break;
            }
            return(sqlWhereClause);
        }
Esempio n. 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
        }
Esempio n. 3
0
        /// <summary>
        /// Crea la cláusula WHERE con la List de condiciones pasadas 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="whereClause"></param>
        /// <returns></returns>
        public static string SqlBuilderWhereList(List <Tuple <EWhereLogicOperator, string, EWhereComparisson, ETipoDato, string> > whereClause)
        {
            string sqlWhereClause = string.Empty;

            foreach (Tuple <EWhereLogicOperator, string, EWhereComparisson, ETipoDato, string> item in whereClause)
            {
                //Tipo de operador lógico para WHERE múltiples
                sqlWhereClause += SqlBuilderWhereLogicOperator(item.Item1);

                //Nombre de la columna a comparar
                sqlWhereClause += item.Item2;

                //Tipo de comparación
                sqlWhereClause += SqlBuilderWhereComparissonType(item.Item3);

                if (item.Item3 != EWhereComparisson.ISNULL && item.Item3 != EWhereComparisson.ISNOTNULL)
                {   //Dependiendo del tipo de valor, añadirá comillas simples (strings, char,...) + valor, o sólo el valor (numéricos)
                    ETipoDato wherecomparissonvaluetype = item.Item4;
                    string    wherecomparissonvalue     = item.Item5.Equals(string.Empty) || item.Item5 == null || item.Item5[0] == ' ' ? "%" : item.Item5;
                    sqlWhereClause += SqlBuilderWhereComparissonValue(wherecomparissonvaluetype, wherecomparissonvalue);
                }
            }
            return(sqlWhereClause.Replace("  ", " ")); //eliminamos el exceso de caracteres en blanco
        }
 public TxtTipoDeNumero()
 {
     this.tipo       = ETipoDato.Entero;
     this._listaChar = null;
 }