示例#1
0
        public void GetSql(DbTarget db_target, ref StringBuilder sql)
        {
            int    count          = _items.Count;
            string concatOperator = " + ";

            if (db_target == DbTarget.MySql)
            {
                sql.Append("CONCAT(");
                concatOperator = ",";
            }
            for (int x = 0; x < count; x++)
            {
                if (!_items[x].IsLiteral)
                {
                    sql.Append("(");
                }
                _items[x].GetSql(db_target, ref sql);
                if (!_items[x].IsLiteral)
                {
                    sql.Append(")");
                }
                if (x + 1 < count)
                {
                    if (Separator != null)
                    {
                        sql.Append(concatOperator);
                        Separator.GetSql(db_target, ref sql);
                    }
                    sql.Append(concatOperator);
                }
            }
            if (db_target == DbTarget.MySql)
            {
                sql.Append(")");
            }
        }