Esempio n. 1
0
        private static string GetMainTableQueryStr(MDModel_QueryModel _qv, MDCompare_Request compareRequest)
        {
            MDQuery_Request _queryRequest       = compareRequest as MDQuery_Request;
            List <string>   _QueryUsedTableList = OraQueryBuilder.GetQueryUsedTable(_qv, _queryRequest);
            string          _conditionRes       = CreateConditionStringByMainID(_qv);
            string          _tableStr           = OraQueryBuilder.CreateTableString(_qv, _QueryUsedTableList);
            string          _tableRelationStr   = OraQueryBuilder.CreateTableRelationString(_qv, _QueryUsedTableList);
            string          _displayStr         = OraQueryBuilder.CreateDisplayString(_qv, compareRequest.MainResultTable);

            return(string.Format("select distinct {0} from {1},COMP_TEMP where ( {2} ({3})) ", _displayStr, _tableStr, _tableRelationStr, _conditionRes));
        }
Esempio n. 2
0
        //变量替换
        private string ConvertVar(string _method, MD_InputEntity _entity)
        {
            string _ret = _method;

            _ret = OraQueryBuilder.ReplaceExtSecret(_ret, "");
            foreach (string _key in _entity.InputData.Keys)
            {
                string _varName = string.Format("${0}$", _key);
                string _value   = string.Format("'{0}'", (_entity.InputData[_key] == null) ? "" : _entity.InputData[_key].ToString());
                _ret = _ret.Replace(_varName, _value);
            }
            return(_ret);
        }
Esempio n. 3
0
        private static string GetQueryStrByMainID(MDModel_QueryModel _qv, MDQuery_ResultTable _qrc)
        {
            List <string> _usedTables = new List <string>();

            _usedTables.Add(_qv.MainTable.TableName);
            _usedTables.Add(_qrc.TableName);
            string _displayStr       = OraQueryBuilder.CreateDisplayString(_qv, _qrc);
            string _conditionRes     = CreateConditionStringByMainID(_qv);
            string _tableStr         = OraQueryBuilder.CreateTableString(_qv, _usedTables);
            string _tableRelationStr = OraQueryBuilder.CreateTableRelationString(_qv, _usedTables);

            return(string.Format("select {0} from {1} where ( {2} ({3})) ",
                                 _displayStr, _tableStr, _tableRelationStr, _conditionRes));
        }
Esempio n. 4
0
        private static string CreateCompareWhereStr(MDModel_QueryModel _qv, MDCompare_Request compareRequest)
        {
            if (compareRequest.CompareConditionExpression == "")
            {
                return("1=1");
            }
            string        conditionStr = compareRequest.CompareConditionExpression;
            StringBuilder res          = new StringBuilder();
            string        _itemIndex   = "";

            for (int i = 0; i < conditionStr.Length; i++)
            {
                char c = conditionStr[i];

                switch (c)
                {
                case '+':
                    res.Append(" or  ");
                    break;

                case '*':
                    res.Append(" and ");
                    break;

                case '!':
                    res.Append(" not ");
                    break;

                case '(':
                    res.Append(" (");
                    break;

                case ')':
                    res.Append(" ) ");
                    break;

                default:
                    //数字
                    if (char.IsDigit(c))
                    {
                        _itemIndex = OraQueryBuilder.ProcDigit(conditionStr, ref i);
                    }
                    res.Append(GetCompareConditionStr(_qv, compareRequest, _itemIndex));
                    break;
                }
            }

            return(res.ToString());
        }
Esempio n. 5
0
        private static string CreateCompareStr(MDModel_QueryModel _qv, MDCompare_Request compareRequest)
        {
            string          _res                 = "";
            MDQuery_Request _queryRequest        = compareRequest as MDQuery_Request;
            List <string>   CompareUsedTableList = GetAllCompareUsedTables(_qv, compareRequest);

            string _whereStr         = CreateCompareWhereStr(_qv, compareRequest);
            string _displayStr       = CreateCompareMainKeyString(_qv, compareRequest);
            string _tableStr         = CreateCompareTableString(_qv, CompareUsedTableList);
            string _tableRelationStr = OraQueryBuilder.CreateTableRelationString(_qv, CompareUsedTableList);

            _res = string.Format("select DISTINCT {0} from {1} where  {2} ({3}) ", _displayStr, _tableStr, _tableRelationStr, _whereStr);


            return(_res);
        }
Esempio n. 6
0
        private static string CreateFilterStr(MDModel_QueryModel _qv, MDCompare_Request compareRequest)
        {
            string _res = "";

            MDQuery_Request _queryRequest       = compareRequest as MDQuery_Request;
            List <string>   _QueryUsedTableList = OraQueryBuilder.GetQueryUsedTable(_qv, _queryRequest);
            string          _filterStr          = OraQueryBuilder.CreateDataFilterStr(_qv);
            string          _conditionStr       = OraQueryBuilder.CreateConditionString(_qv, _queryRequest);
            string          _tableStr           = OraQueryBuilder.CreateTableString(_qv, _QueryUsedTableList);
            string          _tableRelationStr   = OraQueryBuilder.CreateTableRelationString(_qv, _QueryUsedTableList);
            string          _displayStr         = string.Format("{0}.{1} MAINID", _qv.MainTable.TableName, _qv.MainTable.TableDefine.Table.MainKey);

            _res = string.Format("select DISTINCT {0} from {1} where {4} ( {2} ({3})) ", _displayStr, _tableStr, _tableRelationStr, _conditionStr, _filterStr);

            return(_res);
        }
Esempio n. 7
0
        private static string CreateCompareTableString(MDModel_QueryModel _qv, List <string> CompareUsedTableList)
        {
            string _a1 = OraQueryBuilder.CreateTableString(_qv, CompareUsedTableList);

            return(string.Format("{0},TEMP_IMPDATA", _a1));
        }