Ejemplo n.º 1
0
        public void GetSql(DbTarget db_target, ref StringBuilder sql)
        {
            sql.Append("(");
            if (Negation)
            {
                sql.Append(" NOT ");
            }
            LeftOperand.GetSql(db_target, ref sql);
            sql.Append(" ");
            if (_Comparison == Comparisons.IsNull)
            {
                sql.Append(" IS NULL");
            }
            else if (_Comparison == Comparisons.In)
            {
                sql.Append(" IN (");
                if (!RightOperand.IsLiteral)
                {
                    sql.Append("(");
                }
                RightOperand.GetSql(db_target, ref sql);
                if (!RightOperand.IsLiteral)
                {
                    sql.Append(")");
                }
                sql.Append(")");
            }

            else
            {
                switch (_Comparison)
                {
                case Comparisons.Equals:
                    sql.Append(" = ");
                    break;

                case Comparisons.NotEquals:
                    sql.Append(" <> ");
                    break;

                case Comparisons.GreaterThan:
                    sql.Append(" > ");
                    break;

                case Comparisons.GreaterOrEquals:
                    sql.Append(" >= ");
                    break;

                case Comparisons.LessThan:
                    sql.Append(" < ");
                    break;

                case Comparisons.LessOrEquals:
                    sql.Append(" <= ");
                    break;

                case Comparisons.Like:
                    sql.Append(" LIKE ");
                    break;

                case Comparisons.Between:
                    sql.Append(" BETWEEN ");

                    break;
                }
                if (!RightOperand.IsLiteral)
                {
                    sql.Append("(");
                }
                RightOperand.GetSql(db_target, ref sql);
                if (!RightOperand.IsLiteral)
                {
                    sql.Append(")");
                }
            }
            sql.Append(")");
        }