Ejemplo n.º 1
0
        private Tuple <string, IDictionary <string, object> > GetSqlQueryAndParms(SelectClauseBuildMode mode)
        {
            this.sqlWrapper.ExecuteSqlBagBuilder(this.TableOrViewName, mode);

            var sqlQuery   = this.sqlWrapper.GetSqlClause();
            var parameters = this.sqlWrapper.GetSqlParameters();

            return(Tuple.Create(sqlQuery, parameters));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 初始化<c>SqlBag</c>实例
        /// </summary>
        /// <param name="tableOrViewName">表/视图名称</param>
        /// <param name="tableOrViewAlias">表/视图的匿名, 为 null 表示不用匿名表/视图</param>
        /// <param name="fields">SELECT 字段集合(field/alias field), 值为 null 表示改字段不使用匿名</param>
        /// <param name="operators">字段操作集合</param>
        /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
        public SqlBag(string tableOrViewName, string tableOrViewAlias, IDictionary<string, string> fields, IEnumerable<SqlOperator> operators, SelectClauseBuildMode model)
        {
            this.sqlSelectBuilder = new SqlSelectClauseBuilder(tableOrViewName, tableOrViewAlias, model);
            foreach (var field in fields)
                this.sqlSelectBuilder.AddField(field.Key, field.Value);

            this.sqlWhereBuilder = new SqlWhereClauseBuilder();
            foreach (var item in operators)
                this.sqlWhereBuilder.AddParameterValue(item.Name, item.Operator, item.Value);
        }
        /// <summary>
        /// 初始化<c>SqlSelectClauseBuilder</c>实例
        /// </summary>
        /// <param name="tableName">表/视图名称</param>
        /// <param name="tableAlias">表/视图的匿名</param>
        /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
        public SqlSelectClauseBuilder(string tableName, string tableAlias, SelectClauseBuildMode model)
        {
            if (!this.ValidateTableViewNameOrAlias(tableName))
                throw new ArgumentException(tableName);

            if (tableAlias != null && !this.ValidateTableViewNameOrAlias(tableAlias))
                throw new ArgumentException(tableAlias);

            this.tableName = Tuple.Create(tableName, tableAlias);
            this.selectClauseBuildMode = model;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 初始化<c>SqlSelectClauseBuilder</c>实例
        /// </summary>
        /// <param name="tableName">表/视图名称</param>
        /// <param name="tableAlias">表/视图的匿名</param>
        /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
        public SqlSelectClauseBuilder(string tableName, string tableAlias, SelectClauseBuildMode model)
        {
            if (!this.ValidateTableViewNameOrAlias(tableName))
            {
                throw new ArgumentException(tableName);
            }

            if (tableAlias != null && !this.ValidateTableViewNameOrAlias(tableAlias))
            {
                throw new ArgumentException(tableAlias);
            }

            this.tableName             = Tuple.Create(tableName, tableAlias);
            this.selectClauseBuildMode = model;
        }
        private readonly Tuple<string, string> tableName; // name/alias

        #endregion Fields

        #region Constructors

        /// <summary>
        /// 初始化<c>SqlSelectClauseBuilder</c>实例
        /// </summary>
        /// <param name="tableName">表/视图名称</param>
        /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
        public SqlSelectClauseBuilder(string tableName, SelectClauseBuildMode model)
            : this(tableName, null, model)
        {
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 建置 SQL 包
 /// </summary>
 /// <param name="tableOrView">Table 或 View 名称</param>
 /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
 public void ExecuteSqlBagBuilder(string tableOrView, SelectClauseBuildMode model)
 {
     this.ExecuteSqlBagBuilder(tableOrView, this.GetFieldsFromWebForm(), this.GetReportOperators(), model);
 }
Ejemplo n.º 7
0
 private void ExecuteSqlBagBuilder(string table, IDictionary <string, string> fields,
                                   IEnumerable <SqlOperator> operators, SelectClauseBuildMode model)
 {
     this.sqlBag = new SqlBag(table, fields, operators, model);
 }
Ejemplo n.º 8
0
        /// <summary>
        /// 初始化<c>SqlBag</c>实例
        /// </summary>
        /// <param name="tableOrViewName">表/视图名称</param>
        /// <param name="tableOrViewAlias">表/视图的匿名, 为 null 表示不用匿名表/视图</param>
        /// <param name="fields">SELECT 字段集合(field/alias field), 值为 null 表示改字段不使用匿名</param>
        /// <param name="operators">字段操作集合</param>
        /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
        public SqlBag(string tableOrViewName, string tableOrViewAlias, IDictionary <string, string> fields, IEnumerable <SqlOperator> operators, SelectClauseBuildMode model)
        {
            this.sqlSelectBuilder = new SqlSelectClauseBuilder(tableOrViewName, tableOrViewAlias, model);
            foreach (var field in fields)
            {
                this.sqlSelectBuilder.AddField(field.Key, field.Value);
            }

            this.sqlWhereBuilder = new SqlWhereClauseBuilder();
            foreach (var item in operators)
            {
                this.sqlWhereBuilder.AddParameterValue(item.Name, item.Operator, item.Value);
            }
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 初始化<c>SqlBag</c>实例
 /// </summary>
 /// <param name="tableOrViewName">表/视图名称</param>
 /// <param name="fields">SELECT 字段集合(field/alias field), 值为 null 表示改字段不使用匿名</param>
 /// <param name="operators">字段操作集合</param>
 /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
 public SqlBag(string tableOrViewName, IDictionary <string, string> fields, IEnumerable <SqlOperator> operators, SelectClauseBuildMode model)
     : this(tableOrViewName, null, fields, operators, model)
 {
 }
Ejemplo n.º 10
0
        private Tuple<string, IDictionary<string, object>> GetSqlQueryAndParms(SelectClauseBuildMode mode)
        {
            this.sqlWrapper.ExecuteSqlBagBuilder(this.TableOrViewName, mode);

            var sqlQuery = this.sqlWrapper.GetSqlClause();
            var parameters = this.sqlWrapper.GetSqlParameters();

            return Tuple.Create(sqlQuery, parameters);
        }
Ejemplo n.º 11
0
 /// <summary>
 /// 初始化<c>SqlSelectClauseBuilder</c>实例
 /// </summary>
 /// <param name="tableName">表/视图名称</param>
 /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
 public SqlSelectClauseBuilder(string tableName, SelectClauseBuildMode model)
     : this(tableName, null, model)
 {
 }
Ejemplo n.º 12
0
 private void ExecuteSqlBagBuilder(string table, IDictionary<string, string> fields,
     IEnumerable<SqlOperator> operators, SelectClauseBuildMode model)
 {
     this.sqlBag = new SqlBag(table, fields, operators, model);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// 建置 SQL 包
 /// </summary>
 /// <param name="tableOrView">Table 或 View 名称</param>
 /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
 public void ExecuteSqlBagBuilder(string tableOrView, SelectClauseBuildMode model)
 {
     this.ExecuteSqlBagBuilder(tableOrView, this.GetFieldsFromWebForm(), this.GetReportOperators(), model);
 }
Ejemplo n.º 14
0
 /// <summary>
 /// 初始化<c>SqlBag</c>实例
 /// </summary>
 /// <param name="tableOrViewName">表/视图名称</param>
 /// <param name="fields">SELECT 字段集合(field/alias field), 值为 null 表示改字段不使用匿名</param>
 /// <param name="operators">字段操作集合</param>
 /// <param name="model">生成 SELECT 子句的模式 [Raw, WithAlias, StringWithAlias]</param>
 public SqlBag(string tableOrViewName, IDictionary<string, string> fields, IEnumerable<SqlOperator> operators, SelectClauseBuildMode model)
     : this(tableOrViewName, null, fields, operators, model)
 {
 }