internal SQLSelectGroupByField(SQLExpression objExpression)
        {
            if (objExpression == null)
                throw new ArgumentNullException();

            pobjExpression = objExpression;
        }
        public SQLUpdateField Add(string strDestinationFieldName, SQLExpression objExpression)
        {
            SQLUpdateField objField = new SQLUpdateField(strDestinationFieldName, objExpression);

            pobjFields.Add(objField);

            return objField;
        }
        public SQLUpdateField(string strDestinationFieldName, SQLExpression objSourceExpression)
        {
            if (String.IsNullOrEmpty(strDestinationFieldName))
                throw new ArgumentNullException("DestinationFieldName");
            else if (objSourceExpression == null)
                throw new ArgumentNullException("SourceExpression");

            base.Name = strDestinationFieldName;
            base.Value = objSourceExpression;
        }
 public SQLStringConcatExpression(SQLExpression leftExpression, SQLExpression rightExpression)
 {
     this.LeftExpression = leftExpression;
     this.RightExpression = rightExpression;
 }
 public SQLArithmeticExpression(SQLExpression objLeftExpression, ArithmeticOperator eOperator, SQLExpression objRightExpression)
 {
     pobjLeft = objLeftExpression;
     peOperator = eOperator;
     pobjRight = objRightExpression;
 }
 public SQLArithmeticExpression(string strLeftFieldName, ArithmeticOperator eOperator, SQLExpression objRightExpression)
     : this(new SQLFieldExpression(strLeftFieldName), eOperator, objRightExpression)
 {
 }
 public SQLRightFunctionExpression(SQLExpression objExpression, int intLength)
     : base(objExpression, new SQLValueExpression(intLength))
 {
     if (intLength < 0)
         throw new ArgumentException("Length: " + intLength.ToString());
 }
 public SQLAggregateExpression(AggregateFunction aggregate, SQLExpression expression)
     : base(expression)
 {
     this.aggregate = aggregate;
 }
 public SQLConditionExpression(SQLExpression objLeftExpression, ComparisonOperator eCompare, SQLExpression objRightExpression)
 {
     this.LeftExpression = objLeftExpression;
     this.Compare = eCompare;
     this.RightExpression = objRightExpression;
 }
        public SQLSelectTableJoinCondition Add(SQLExpression objLeftExpression, ComparisonOperator eCompare, SQLExpression objRightExpression)
        {
            EnsureComparisonOperatorValid(eCompare);
            AddLogicalOperatorIfRequired();

            var joinCondition = new SQLSelectTableJoinCondition();

            joinCondition.LeftExpression = objLeftExpression;
            joinCondition.Compare = eCompare;
            joinCondition.RightExpression = objRightExpression;

            pobjConditions.Add(joinCondition);

            return joinCondition;
        }
 public SQLLogicalExpression(SQLExpression leftExpression, LogicalOperator @operator, SQLExpression rightExpression)
 {
     this.LeftExpression = leftExpression;
     this.@operator = @operator;
     this.RightExpression = rightExpression;
 }
 public SQLBitwiseExpression(SQLExpression objLeftExpression, BitwiseOperator eOperator, SQLExpression objRightExpression)
 {
     pobjLeft = objLeftExpression;
     peOperator = eOperator;
     pobjRight = objRightExpression;
 }
 public SQLBitwiseExpression(string strLeftFieldName, BitwiseOperator eOperator, SQLExpression objRightExpression)
     : this(new SQLFieldExpression(strLeftFieldName), eOperator, objRightExpression)
 {
 }