Exemplo n.º 1
0
        public ColumnCollection GetColumns()
        {
            ColumnCollection columns   = new ColumnCollection();
            ISqlScript       sqlScript = SqlParserService.Parse(_select);

            if (sqlScript.Statements != null && sqlScript.Statements.Count > 0)
            {
                ISqlStatement statement = sqlScript.Statements[0];
                if (statement is ISelectStatement)
                {
                    ISelectStatement selectStatement = statement as ISelectStatement;
                    if (selectStatement.QueryExpression != null && selectStatement.QueryExpression is ISelectExpression)
                    {
                        ISelectExpression selectExpression = selectStatement.QueryExpression as ISelectExpression;
                        for (int i = 0; i < selectExpression.SelectList.Count; i++)
                        {
                            SelectColumn selectColumn = selectExpression.SelectList[i];
                            Column       column       = _table[selectColumn.Name];
                            if (column != null)
                            {
                                columns.Add(column);
                            }
                        }
                    }
                }
            }
            return(columns);
        }
Exemplo n.º 2
0
        public static DataAssembler FromQuery(DataDomain dataDomain, string query)
        {
            ISqlScript sqlScript = SqlParserService.Parse(query);

            if (sqlScript.Statements != null && sqlScript.Statements.Count > 0)
            {
                ISqlStatement statement = sqlScript.Statements[0];
                if (statement is ISelectStatement)
                {
                    ISelectStatement selectStatement = statement as ISelectStatement;
                    if (selectStatement.Tables != null && selectStatement.Tables.Count > 0)
                    {
                        SqlTable      sqlTable      = selectStatement.Tables[0];
                        Table         table         = dataDomain[sqlTable.Name];
                        DataAssembler dataAssembler = new DataAssembler(dataDomain.DomainUrl.Url, table, query);
                        return(dataAssembler);
                    }
                }
            }
            return(null);
        }