Vraag : De dataset van de lading van Dynamische StoredProcedure…

Ik wil een dataset met gegevens van een dynamische opgeslagen procedure (SQL server 2005) laden die returs een verschillende reeks kolommen afhankelijk van wat globaal gebruik settings.
When i de code hieronder, het slechts 3 columns.
Running de één of andere procedure in SQL winst terugkeert alle het 11 columns.
The koord-variabele sql de naam van de sp.

Any- suggesties bevat?
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Dim- cn als Nieuwe SqlConnection (My.Settings.Conn_DB)
        cn. Open ()

        Schemerige SqlAttr als Nieuwe SqlDataAdapter
        Schemerige ds als Nieuwe Dataset

        Schemerige sqlcmd als Nieuwe SqlCommand
        Met sqlcmd
            . Verbinding = cn
            .CommandType = CommandType.StoredProcedure
            .CommandText = sql
        Eind met

        SqlAttr.SelectCommand = sqlcmd

        Schemerige DtAttr als DataTable = ds. Tables.Add („Attributen“)

        'Vul het Schema 
        SqlAttr.FillSchema (DtAttr, SchemaType.Mapped)

Antwoord : De dataset van de lading van Dynamische StoredProcedure…

Een enkel correctie op terminologie, uw krijgende niet veelvoudige datasets maar eerder veelvoudige lijsten binnen een dataset. FillSchema zou niet voor het vullen van een dataset moeten worden vereist. Ik zou lijnen 16-19 in uw codagevoorbeeld verwijderen
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Schemerige cn als Nieuwe SqlConnection (My.Settings.Conn_DB)
        cn. Open () 'DataAdapter zal de verbinding openen zodat is dit niet nodig.

        Schemerige SqlAttr als Nieuwe SqlDataAdapter
        Schemerige ds als Nieuwe Dataset

        Schemerige sqlcmd als Nieuwe SqlCommand
        Met sqlcmd
            . Verbinding = cn
            .CommandType = CommandType.StoredProcedure
            .CommandText = sql
        Eind met

        SqlAttr.SelectCommand = sqlcmd
        SqlAttr.Fill (ds)
Andere oplossingen  
 
programming4us programming4us