예제 #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));
        }
예제 #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;
        }
예제 #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)
        {
        }
예제 #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);
 }
예제 #7
0
 private void ExecuteSqlBagBuilder(string table, IDictionary <string, string> fields,
                                   IEnumerable <SqlOperator> operators, SelectClauseBuildMode model)
 {
     this.sqlBag = new SqlBag(table, fields, operators, model);
 }
예제 #8
0
파일: SqlBag.cs 프로젝트: radtek/ReportMS
        /// <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);
            }
        }
예제 #9
0
파일: SqlBag.cs 프로젝트: radtek/ReportMS
 /// <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)
 {
 }
예제 #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);
        }
예제 #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)
 {
 }
예제 #12
0
 private void ExecuteSqlBagBuilder(string table, IDictionary<string, string> fields,
     IEnumerable<SqlOperator> operators, SelectClauseBuildMode model)
 {
     this.sqlBag = new SqlBag(table, fields, operators, model);
 }
예제 #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);
 }
예제 #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)
 {
 }