コード例 #1
0
        public IActionResult Query([FromBody] Query query)
        {
            return(this.Intercept(() =>
            {
                var results = new List <List <object> >();

                try
                {
                    using (var dbReader = dbConnection.ExecuteQuery(query.Select))
                    {
                        var reader = dbReader.Reader;
                        while (reader.Read())
                        {
                            var rowResults = new List <object>();
                            foreach (var column in query.Columns)
                            {
                                var columnOrdinal = reader.GetOrdinal(column);
                                rowResults.Add(reader.GetValue(columnOrdinal));
                            }

                            results.Add(rowResults);
                        }

                        return Ok(QueryResponse.Ok(query, results));
                    }
                }
                catch (Exception err)
                {
                    return Ok(QueryResponse.Failed(err.Message));
                }
            }));
        }