Jak vyplnit data z SQL, kontingenční tabulka v ASP.NET

0

Otázka

Mám dvě tabulky. Hodnoty sloupce tabulka1 jsou použity jako sloupy tabulka2 (provádění řádku na sloupec). S pomocí vyhledávání google, jsem připraven můj SQL dotaz jako:

DECLARE @cols AS NVARCHAR(MAX),
        @col1 AS NVARCHAR(30),
        @col2 AS NVARCHAR(30),
        @query AS NVARCHAR(MAX)

SELECT
    @cols = STUFF((SELECT DISTINCT',' + QUOTENAME(schedule) 
                   FROM table1 
                   WHERE value = 'value1' 
                   GROUP BY schedule 
                   FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

SET @col1 = 'value1'
SET @col2 = 'value2'

SET @query = N'SELECT eclo1, ecol2, ecol3, ' + @cols + N' FROM  
               (SELECT eclo1, ecol2, ecol3, ecol4, schedule 
                FROM table2 
                WHERE eval1 = ''' + @col1 + ''' AND eval2 =  ''' + @col2 + ''') x
               PIVOT
                   (COUNT(material) FOR schedule IN (' + @cols + N')) p '

EXECUTE(@query)

To běží dobře v SQL Server Management Studio, chci naplnit výsledek v mém datatable, ale nevím, jak to napsat SqlCommand v mém ASP.NET stránka.

asp.net c# pivot sql-server-2008-r2
2021-11-20 07:55:11
1
0

Chuck celý kód do uložené procedury se podle toho, které parametry je třeba odhalit, jako parametry sproc (col1 a col2?)

using var da = new SqlDataAdapter("your_sproc_name_here", ConnectionString));

da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@col1", SqlDbType.VarChar, 30).Value = "whatever";       
da.SelectCommand.Parameters.Add("@col2", SqlDbType.VarChar, 30).Value = "whatever2";

var dt = new DataTable();
da.Fill(dt);
2021-11-20 09:33:20

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................