Sdílet prostřednictvím


Postupy: Provedení uložené procedury, jež vrací řádky

Chcete-li spustit uloženou proceduru, která vrací řádku můžete spustit TableAdapter dotazu, který je konfigurován na spuštění uložené procedury (například CustomersTableAdapter.Fill(CustomersDataTable)).

Pokud aplikace nepoužívá TableAdapters, volání ExecuteReader metodu objektu příkaz, nastavení jeho CommandType vlastnost StoredProcedure.("Příkaz objekt" odkazuje na konkrétní příkaz .NET Framework Data Provider používající aplikaci.Pokud aplikace používá například.Objekt příkazu NET Framework pro SQL Server, by SqlCommand.)

Následující příklady ukazují způsob spuštění uložené procedury, které vrací řádky z databáze pomocí buď TableAdapters nebo příkaz objekty.Další informace o dotazování s TableAdapters a příkazy, viz Naplňování datových sad daty.

[!POZNÁMKA]

Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Spouštění uložených procedur, které vrací řádky TableAdapter

Tento příklad ukazuje, jak lze vytvořit pomocí dotazu TableAdapter Průvodce nastavením dotazu TableAdapter, a pak obsahuje informace o deklarovat instance TableAdapter a spuštění dotazu.

Vytvořte uloženou proceduru, která vrací řádky TableAdapter

  1. Otevřete objekt dataset v Dataset Návrhář.Další informace naleznete v tématu Postupy: Otevření datové sady v Návrháři DataSet.

  2. Pokud již nemáte jednu vytvořit TableAdapter.Další informace naleznete v tématu Postupy: Vytváření TableAdapters.

  3. Pokud již máte dotaz na vašem TableAdapter volání uložené procedury, která vrací řádky, přejděte na další postup, "deklarovat instance TableAdapter a spuštění dotazu. Jinak pokračujte krokem 4 vytvořte nový dotaz, který volá uloženou proceduru, která vrací řádky.

  4. Tlačítkem TableAdapter, který je wan a pomocí místní nabídky přidat dotaz.

    Průvodce nastavením dotazu TableAdapter Otevře.

  5. Klepněte na tlačítko Dalšía pak zvolte použít existující uložené procedurya klepněte na tlačítko Další.

  6. Z rozevíracího seznamu vyberte uloženou proceduru a klepněte na tlačítko Další.

  7. Ponechejte výchozí hodnotu tabulková dataa klepněte na tlačítko Další.

  8. Zajistit názvy pro každou metodu, kterou chcete vytvořit (výplně objektu DataTable a vrátit DataTable metody).

  9. Dokončení Průvodce; dotaz je přidán do TableAdapter.

  10. Sestavte projekt.

Deklarovat instance TableAdapter a spuštění dotazu

  1. Deklarujte instance TableAdapter, který obsahuje dotaz, který chcete spustit.

    • Chcete-li vytvořit instanci pomocí nástrojů návrhu, přetáhněte TableAdapter, ze nástrojů.(Součástí projektu se zobrazí v nástrojů pod nadpisem, který odpovídá názvu vašeho projektu.) Pokud TableAdapter se nezobrazí v nástrojů, je třeba sestavit projekt.

      -nebo-

    • Chcete-li vytvořit instanci v kódu, nahraďte následující kód názvy vaše DataSet a TableAdapter.

      Dim tableAdapter As New DataSetTableAdapters.TableAdapter

      [!POZNÁMKA]

      TableAdapters není ve skutečnosti umístěn uvnitř jejich třídy přidružený objekt dataset.Každý objekt dataset obsahuje odpovídající kolekci TableAdapters ve vlastním oboru názvů.Například pokud máte dataset s názvem SalesDataSet, by bylo SalesDataSetTableAdapters oboru názvů, který obsahuje jeho TableAdapters.

  2. Volání dotaz jako jiné metody by volání v kódu.Dotaz je metoda na TableAdapter.Následující kód nahraďte názvy TableAdapter a dotaz.Také je třeba předat parametry požadované podle vašeho dotazu.Pokud si nejste jisti, zda dotaz vyžaduje parametry nebo parametry, jaké vyžaduje, zkontrolujte IntelliSense pro požadovaný podpis dotazu.V závislosti na tom, zda dotaz má parametry nebo ne kód vypadat podobně jako jednu z následujících příkladů:

    TableAdapter.Query()

    TableAdapter.Query(Parameters)

    TableAdapter.Query(DataTable, Parameters)

    Kód dokončení deklarovat instance TableAdapter a spuštění dotazu by měl vypadat jako následující:

    Dim tableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()
    tableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
    
    NorthwindDataSetTableAdapters.CustomersTableAdapter tableAdapter = 
        new NorthwindDataSetTableAdapters.CustomersTableAdapter();
    
    tableAdapter.FillByCity(northwindDataSet.Customers, "Seattle");
    

Spouštění uložených procedur, které vrací řádky pomocí objektu Command

Následující příklad ukazuje, jak vytvořit příkaz a spustit uloženou proceduru, která vrací řádky.Informace o nastavení a získání hodnoty parametru příkazu, Postupy: Nastavování a získávání parametrů pro objekty příkazu.

V tomto příkladu SqlCommand objektu a vyžaduje:

  • Odkazy na System, System.Data, a System.Xml obory názvů.

  • Datové připojení s názvem SqlConnection1.

  • Tabulka s názvem Customers data zdroje, SqlConnection1 připojuje.(Jinak, potřebujete platný příkaz SQL pro zdroj dat).

Spustit uloženou proceduru, která vrací řádky programově pomocí objektu command

  • Přidejte následující kód na metodu, kterou chcete spustit kód z.Vrátit řádky voláním ExecuteReader metoda příkazu (například ExecuteReader).Data jsou vrácena v DataReader.Další informace o přístupu k datům DataReader, viz Retrieving Data Using a DataReader.

    Dim sqlConnection1 As New SqlConnection("Your Connection String")
    Dim cmd As New SqlCommand
    Dim reader As SqlDataReader
    
    cmd.CommandText = "StoredProcedureName"
    cmd.CommandType = CommandType.StoredProcedure
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    
    reader = cmd.ExecuteReader()
    ' Data is accessible through the DataReader object here.
    
    sqlConnection1.Close()
    
    SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
    SqlCommand cmd = new SqlCommand();
    SqlDataReader reader;
    
    cmd.CommandText = "StoredProcedureName";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    
    reader = cmd.ExecuteReader();
    // Data is accessible through the DataReader object here.
    
    sqlConnection1.Close();
    

Zabezpečení

Aplikace vyžaduje oprávnění k přístupu do databáze a spuštění uložené procedury.

Viz také

Úkoly

Postupy: Vytváření dotazů TableAdapter

Postupy: Vyplnění datové sady daty

Postupy: Nastavování a získávání parametrů pro objekty příkazu

Referenční dokumentace

SqlCommand.ExecuteReader

OleDbCommand.ExecuteReader

OdbcCommand.ExecuteReader

OracleCommand.ExecuteReader

Koncepty

Naplňování datových sad daty