Esempio n. 1
0
        public override string FormatField(Adorns ad, string field)
        {
            switch (ad)
            {
            case Adorns.Average:
                return(String.Format("AVE(`{0}`) AS `{0}`", field));

            case Adorns.Distinct:
                return(String.Format("DISTINCT(`{0}`) AS `{0}`", field));

            case Adorns.Maximum:
                return(String.Format("MAX(`{0}`) AS `{0}`", field));

            case Adorns.Minimum:
                return(String.Format("MIN(`{0}`) AS `{0}`", field));

            case Adorns.None:
            case Adorns.Substring:
                return(String.Format("`{0}`", field));

            case Adorns.Sum:
                return(String.Format("SUM(`{0}`) AS `{0}`", field));

            case Adorns.Total:
                return(String.Format("TOTAL(`{0}`) AS `{0}`", field));

            default:
                return(String.Format("`{0}`", field));
            }
        }
Esempio n. 2
0
        public override string FormatField(Adorns adorn, string field)
        {
            switch (adorn)
            {
            case Adorns.Average:
                return(string.Format("AVE([{0}]) AS [{0}]", field));

            case Adorns.Distinct:
                return(string.Format("DISTINCT([{0}]) AS [{0}]", field));

            case Adorns.Maximum:
                return(string.Format("MAX([{0}]) AS [{0}]", field));

            case Adorns.Minimum:
                return(string.Format("MIN([{0}]) AS [{0}]", field));

            case Adorns.Sum:
                return(string.Format("SUM([{0}]) AS [{0}]", field));

            case Adorns.None:
            case Adorns.SubString:
                return(string.Format("[{0}]", field));

            case Adorns.Total:
                return(string.Format("TOTAL([{0}]) AS [{0}]", field));

            default:
                return(string.Format("[{0}]", field));
            }
        }
Esempio n. 3
0
        protected void BuildFields(bool allowReadonly)
        {
            StringBuilder _f0 = new StringBuilder();

            foreach (Property p in EntityObject.PropertyDict.Values)
            {
                Adorns a = Adorns.None;
                if (!allowReadonly && p.Readonly)
                {
                    continue;
                }
                if (listFieldDict.Count > 0)
                {
                    if (ListFieldDict.ContainsKey(p.Name))
                    {
                        a = ListFieldDict[p.Name].Adorn;
                    }
                    else if (listFieldDict.ContainsKey(p.Field.ToUpper()))
                    {
                        a = ListFieldDict[p.Field.ToUpper()].Adorn;
                    }
                    else if (listFieldDict.ContainsKey(p.Field.ToLower()))
                    {
                        a = listFieldDict[p.Field.ToLower()].Adorn;
                    }
                    else
                    {
                        continue;
                    }
                }
                AddSplitString(_f0, Connect.Driver.FormatField(a, p.Field));
            }

            fields = _f0.ToString();
        }
Esempio n. 4
0
        protected virtual void BuildFields(bool allowReadonly)
        {
            StringBuilder sb = new StringBuilder();

            foreach (We7DataColumn dc in Columns)
            {
                if (dc.Direction == ParameterDirection.ReturnValue)
                {
                    continue;
                }
                Adorns a = Adorns.None;
                if (ListFieldDict.Count > 0)
                {
                    if (ListFieldDict.ContainsKey(dc.Name))
                    {
                        a = listFieldDict[dc.Name].Adorn;
                    }
                    else
                    {
                        continue;
                    }
                }
                AddSplitString(sb, Connect.Driver.FormatField(a, dc.Name));
            }
            fields = sb.ToString();
        }
Esempio n. 5
0
        public override string FormatField(Adorns adorn, string field, int start, int length)
        {
            switch (adorn)
            {
            case Adorns.SubString:
                return(string.Format("SUBSTRING([{0}]," + (start + 1) + "," + length + ")", field));

            case Adorns.Average:
            case Adorns.Distinct:
            case Adorns.Maximum:
            case Adorns.Minimum:
            case Adorns.Sum:
            case Adorns.Total:
            case Adorns.None:
            default:
                return(string.Format("[{0}]", field));
            }
        }
Esempio n. 6
0
        protected override void BuildFields(bool allowReadonly)
        {
            StringBuilder sb = new StringBuilder();

            foreach (DataField df in Ctx.Row)
            {
                Adorns a = Adorns.None;
                if (ListFieldDict.Count > 0)
                {
                    if (ListFieldDict.ContainsKey(df.Column.Name))
                    {
                        a = ListFieldDict[df.Column.Name].Adorn;
                    }
                    else
                    {
                        continue;
                    }
                }
                AddSplitString(sb, Connect.Driver.FormatField(a, df.Column.Name));
            }
            Fields = sb.ToString();
        }
Esempio n. 7
0
 /// <summary>
 /// 格式化字段名(包括函数)
 /// </summary>
 /// <param name="ad"></param>
 /// <param name="field"></param>
 /// <param name="start"></param>
 /// <param name="length"></param>
 /// <returns></returns>
 public abstract string FormatField(Adorns ad, string field, int start, int length);
Esempio n. 8
0
 /// <summary>
 /// 格式化字段名(包括函数)
 /// </summary>
 /// <param name="ad"></param>
 /// <param name="field"></param>
 /// <returns></returns>
 public abstract string FormatField(Adorns ad, string field);
Esempio n. 9
0
        string MakeCondition(Criteria ct, Dictionary <string, ConListField> fields)
        {
            StringBuilder _f0 = new StringBuilder();

            // If the CriteraType is None, we don't put this as a condition
            if (ct.Type != CriteriaType.None)
            {
                if (!Columns.Contains(ct.Name))
                {
                    throw new ArgumentException("在数据集中不存在当前字段:" + ct.Name);
                }
                We7DataColumn dc = Columns[ct.Name];
                if (dc.Direction == ParameterDirection.ReturnValue)
                {
                    throw new ArgumentException("不能使用ReturnValue字段作为查询字段:" + ct.Name);
                }

                string t = Connect.Driver.GetCriteria(ct.Type);

                string       pn = "";
                ConListField f  = fields[ct.Name];
                if (f.FieldName != f.AliasName)
                {
                    pn = AddParameter(f, ct.Value);
                }
                else
                {
                    pn = AddParameter(dc, ct.Value);
                }
                Adorns adorn = ct.Adorn;
                _f0.Append(String.Format(" {0} {1} {2} ", connect.Driver.FormatField(adorn, f.FieldName, ct.Start, ct.Length), t, pn));
                //_f0.Append(String.Format(" {0} {1} {2} ", f.AliasName, t, ct.Value));
            }

            if (ct.Criterias.Count > 0)
            {
                string _f1 = ct.Mode == CriteriaMode.And ? " AND " : " OR ";
                if (ct.Type != CriteriaType.None)
                {
                    _f0.Append(_f1);
                }

                bool _f2 = ct.Criterias.Count > 1;
                if (_f2)
                {
                    _f0.Append("(");
                }

                _f0.Append(MakeCondition(ct.Criterias[0], fields));

                for (int i = 1; i < ct.Criterias.Count; i++)
                {
                    Criteria _f3 = ct.Criterias[i];
                    _f0.Append(_f1);
                    _f0.Append(MakeCondition(_f3, fields));
                }

                if (_f2)
                {
                    _f0.Append(")");
                }
            }
            return(_f0.ToString());
        }
Esempio n. 10
0
 public Order(string n, OrderMode m)
 {
     adorn = Adorns.None;
     name  = n;
     mode  = m;
 }
Esempio n. 11
0
 public Order(string n)
 {
     adorn = Adorns.None;
     name  = n;
     mode  = OrderMode.Asc;
 }
Esempio n. 12
0
 public Order()
 {
     adorn = Adorns.None;
 }
Esempio n. 13
0
 public ListField(Adorns ad, string fn)
 {
     adorn     = ad;
     fieldName = fn;
 }
Esempio n. 14
0
 public ListField(string fn)
 {
     adorn     = Adorns.None;
     fieldName = fn;
 }
Esempio n. 15
0
 public ListField()
 {
     adorn = Adorns.None;
 }
Esempio n. 16
0
 public ConListField(Adorns ad, string fn, string an)
 {
     adorn     = ad;
     fieldName = fn;
     aliasName = an;
 }