Pytanie : Obciążeniowy dataset od Dynamiczny StoredProcedure…

I chcieć dataset z dane od dynamiczny zaopatrzony procedura (SQL serwer 2005) che returs różny set kolumna w zależności od niektóre globalny settings.
When i używać the kod globalny, ono tylko wracać 3 columns.
Running the niektóre procedura w SQL wracać wszystkie 11 columns.
The zawiązywać-zmienna sql zawierać the imię the sp.

Any propozycja?
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
Dim cn Jako Nowy SqlConnection (My.Settings.Conn_DB)
        cn. Otwierać ()

        Ćmić SqlAttr Jako Nowy SqlDataAdapter
        Ćmić ds Jako Nowy DataSet

        Ćmić sqlcmd Jako Nowy SqlCommand
        Z sqlcmd
            . Związek = cn
            .CommandType = CommandType.StoredProcedure
            .CommandText = sql
        Końcówka Z

        SqlAttr.SelectCommand = sqlcmd

        Ciemnawy DtAttr Jako DataTable = ds. Tables.Add ("Atrybut")

        'Wypełniać the Schemat 
        SqlAttr.FillSchema (DtAttr, SchemaType.Mapped)

Odpowiedź : Obciążeniowy dataset od Dynamiczny StoredProcedure…

Właśnie korekcja na terminologia, twój wieloskładnikowy datasets ale raczej wieloskładnikowy stół wśród dataset. FillSchema musieć wymagać dla dataset. I usuwać linia 16-19 w twój cyfrowanie przykład
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Ciemnawy cn Jako Nowy SqlConnection (My.Settings.Conn_DB)
        cn. Otwarty () 'DataAdapter otwierać the związek w ten sposób związek potrzebować.

        Ciemnawy SqlAttr Jako Nowy SqlDataAdapter
        Ciemnawy ds Jako Nowy DataSet

        Ciemnawy sqlcmd Jako Nowy SqlCommand
        Z sqlcmd
            . Związek = cn
            .CommandType = CommandType.StoredProcedure
            .CommandText = sql
        Końcówka Z

        SqlAttr.SelectCommand = sqlcmd
        SqlAttr.Fill (ds)
Inne rozwiązania  
 
programming4us programming4us