private string GetWhereMergeOperatorString(WhereMergeOperatorEnum _operator)
        {
            switch (_operator)
            {
            case WhereMergeOperatorEnum.And:
                return(" AND ");

            case WhereMergeOperatorEnum.Or:
                return(" OR ");

            default:
                return(" AND ");
            }
        }
示例#2
0
 public abstract void AddWhereParameterIN(String _columnName, String _tableName, Array _values,
                                          WhereMergeOperatorEnum _whereMergeOperator, Boolean NotIn);
示例#3
0
 public abstract void AddWhereParameter(String _columnName, String _tableName, Object _value,
                                        PropertyCompareOperatorEnum _propertyCompare, WhereMergeOperatorEnum _whereMergeOperator);
        public override void AddWhereParameterIN(String _columnName, String _tableName, Array _values, WhereMergeOperatorEnum _whereMergeOperator, Boolean _notIn)
        {
            if (_sb_where.Length == 0)
            {
                _sb_where.Append(" WHERE ");
            }
            else
            {
                _sb_where.Append(GetWhereMergeOperatorString(_whereMergeOperator));
            }

            this._sb_where.Append(_where_addParenthesisStart + "[" + _tableName + "].[" + _columnName + "]" + (_notIn ? " NOT" : "").ToString() + " IN (");

            String _sep = "";

            foreach (var i in _values)
            {
                this._command.Parameters.AddWithValue(_sql_paramPrefix + _sql_paramIndex.ToString(), i);
                _sb_where.Append(_sep + _sql_paramPrefix + _sql_paramIndex.ToString());
                this._sql_paramIndex += 1;
                _sep = ", ";
            }
            _sb_where.Append(")");
            this._where_addParenthesisStart = String.Empty;
        }
 public override void AddWhereParameter(String _columnName, String _tableName, Object _value, PropertyCompareOperatorEnum _propertyCompare, WhereMergeOperatorEnum _whereMergeOperator)
 {
     if (_sb_where.Length == 0)
     {
         _sb_where.Append(" WHERE ");
     }
     else
     {
         _sb_where.Append(GetWhereMergeOperatorString(_whereMergeOperator));
     }
     if (_value != null)
     {
         if (_propertyCompare == PropertyCompareOperatorEnum.Like)
         {
             if (_value is string)
             {
                 string a = (string)(_value);
                 a      = a + "%";
                 _value = a;
             }
         }
         this._command.Parameters.AddWithValue(_sql_paramPrefix + _sql_paramIndex.ToString(), _value);
         this._sb_where.Append(_where_addParenthesisStart + "[" + _tableName + "].[" + _columnName + "]" + GetCompareOperator(_propertyCompare, _value) + _sql_paramPrefix + _sql_paramIndex.ToString());
         this._sql_paramIndex += 1;
     }
     else
     {
         if (_propertyCompare == PropertyCompareOperatorEnum.IsEqual)
         {
             this._sb_where.Append(GetWhereMergeOperatorString(_whereMergeOperator) + _where_addParenthesisStart + "[" + _tableName + "].[" + _columnName + "] IS NULL");
         }
         if (_propertyCompare == PropertyCompareOperatorEnum.IsNotEqual)
         {
             this._sb_where.Append(GetWhereMergeOperatorString(_whereMergeOperator) + _where_addParenthesisStart + "[" + _tableName + "].[" + _columnName + "] IS NOT NULL");
         }
     }
     this._where_addParenthesisStart = String.Empty;
 }
 public void AddWhere(Column column, object value, PropertyCompareOperatorEnum compare,
                      WhereMergeOperatorEnum merge)
 {
     Provider.AddWhereParameter(column.DbName, column.DbTable.GetTableNameShortcut(), value, compare, merge);
 }