Ejemplo n.º 1
0
        string GetSqlSentence(CtrlPlatformCommandInfo cmd)
        {
            var si = this.SourceInfo;

            if (null == si)
            {
                _IPageRuntime.AlertMessage("数据源设置不正确");
                return(null);
            }
            string        querySql  = string.Format("select * from {0} ", si.TableName);
            List <String> condition = new List <string>();

            if (!WhereCondition.IsNullOrEmpty())
            {
                condition.Add(WhereCondition);
            }
            if (null != cmd && null != cmd.MetaDataInfo && null != cmd.MetaDataInfo.Item && 0 < cmd.MetaDataInfo.Item.Count)
            {
                var pItem = cmd.MetaDataInfo.Item.Where(p =>
                                                        !p.table_name.IsNullOrEmpty() &&
                                                        p.table_name.Equals(si.TableName)
                                                        ).GetTList <MetaDataColumnInfo>();
                if (null != pItem && 0 < pItem.Count)
                {
                    var _where = from p in pItem
                                 select string.Format("{0} = '{1}'", p.column_name, p.column_value);

                    condition.AddRange(_where);
                }
            }
            if (0 < condition.Count)
            {
                querySql += string.Format(" where {0} ", string.Join(" and ", condition));
            }
            return(querySql);
        }