Skip to main content
Home  › ... Razor

Data Tutorials

Tutorial HomeData

SQL from an App.Query

The easiest way to get SQL data is using Visual Query. Note that this only works, if your razor is inside 2sxc/eav. This example gets the list of files from DNN using a query like
Select Top 10 * from Files Where PortalId = [Params:PortalId]
Note that the parameter PortalId is preset to be [Portal:PortalId].


Current Portal

In this example PortalId uses the preset [Portal:PortalId]
  • image-1.jpg
  • image-2.jpg
  • ct basic content.png
  • ct image.png
  • ct layout element.png
  • ct links.png
  • ct location.png
  • ct person.png
  • ct video.png
  • RazorTutoApp1000x1000.png

    @{
      // Get the query and ask for the "Default" results as a dynamic List
      var query = App.Query["DnnFilesFromSql"];
      var files = AsList(query);
    }
    <ul>
      @foreach(var file in files) {
        <li>
          @file.FileName
        </li>
      }
    </ul>

    

Source Code of this file

Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials. Click to expand the code

@inherits Custom.Hybrid.Razor12
@using ToSic.Razor.Blade;
@using System.Linq;
<!-- unimportant stuff, hidden -->
SQL from an App.Query The easiest way to... <!-- unimportant stuff, hidden -->
<div class="row">
  <div class="col-lg-7">
    <h2>Current Portal</h2>
    <div>In this example PortalId uses the preset <code>[Portal:PortalId]</code></div>
    
    @{
      // Get the query and ask for the "Default" results as a dynamic List
      var query = App.Query["DnnFilesFromSql"];
      var files = AsList(query);
    }
    <ul>
      @foreach(var file in files) {
        <li>
          @file.FileName
        </li>
      }
    </ul>

    
    
  </div>
  <div class="col-lg-5">
    @fancybox.PreviewWithLightbox(App.Path + "/data/assets/sql-query-dnn-files.png", width, height, "float-left", label: "Query Tree") 
    @fancybox.PreviewWithLightbox(App.Path + "/data/assets/sql-query-configuration.png", width, height, "float-left", label: "Query Configuration with Params and Test-Values")
    @fancybox.PreviewWithLightbox(App.Path + "/data/assets/sql-query-select-statement.png", width, height, "float-left", label: "SQL Query using Params")
  </div>
</div>

<!-- unimportant stuff, hidden -->