예제 #1
0
        internal override string DisplayValue(KeyWordInfomation info)
        {
            IDBAdapter idba = info.DBInfo.CurrentDbAdapter;

            if (paramName == "*")//²éѯȫ²¿×Ö¶Îʱºò
            {
                return(table.DisplayValue(info) + ".*");
            }
            StringBuilder sb = new StringBuilder();

            if (!CommonMethods.IsNull(table))
            {
                BQLAliasHandle handle = info.AliasManager.GetPrimaryAliasHandle(table);
                if (Buffalo.Kernel.CommonMethods.IsNull(handle))
                {
                    sb.Append(table.DisplayValue(info));
                    sb.Append(".");
                }
                else
                {
                    sb.Append(handle.GetAliasName());
                    sb.Append(".");
                }
            }
            sb.Append(idba.FormatParam(paramName));
            return(sb.ToString());
        }
예제 #2
0
        internal override string DisplayValue(KeyWordInfomation info)
        {
            SelectCondition con     = info.Condition as SelectCondition;
            bool            isGroup = false;

            if (con != null)
            {
                isGroup = con.HasGroup;
            }
            if (info.Condition.PrimaryKey.Count <= 0 && !CommonMethods.IsNull(_table) && !isGroup)
            {
                foreach (string pks in _table.GetPrimaryParam())
                {
                    StringBuilder pkStr = new StringBuilder();
                    if (!string.IsNullOrEmpty(_aliasName))
                    {
                        pkStr.Append(info.DBInfo.CurrentDbAdapter.FormatTableName(_aliasName) + ".");
                    }
                    else
                    {
                        pkStr.Append(_table.DisplayValue(info) + ".");
                    }
                    pkStr.Append(pks);
                    info.Condition.PrimaryKey.Add(pkStr.ToString());
                }
            }

            string result = null;

            if (!CommonMethods.IsNull(_table))
            {
                result = _table.DisplayValue(info);
            }
            else if (_query != null)
            {
                KeyWordInfomation qinfo = info.Clone() as KeyWordInfomation;
                qinfo.Condition = new SelectCondition(info.DBInfo);
                qinfo.ParamList = info.ParamList;
                KeyWordConver objCover = new KeyWordConver();
                string        sql      = objCover.ToConver(_query, qinfo).GetSql(false);
                foreach (KeyValuePair <string, bool> kvp in qinfo.ContainTables)
                {
                    info.ContainTables[kvp.Key] = true;
                }
                result = "(" + sql + ")";
            }
            if (!string.IsNullOrEmpty(_aliasName))
            {
                result += " " + info.DBInfo.CurrentDbAdapter.FormatTableName(_aliasName);
            }

            return(result);
        }