Sdílet prostřednictvím


Jak: spustit uloženou proceduru, která 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 Vyplňování objektů DataSet s daty.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace 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 konfigurací TableAdapter dotaz, 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 Jak: Otevřete Návrhář Dataset objektu Dataset.

  2. Pokud již nemáte jednu vytvořit TableAdapter.Další informace naleznete v tématu Jak: vytvoř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 konfigurací TableAdapter dotaz 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, Jak: nastavení a získat parametry příkazu objekty.

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

Jak: vytvoření TableAdapter dotazy

Jak: výplň objektu Dataset s daty

Jak: nastavení a získat parametry příkazu objekty

Referenční dokumentace

SqlCommand.ExecuteReader

OleDbCommand.ExecuteReader

OdbcCommand.ExecuteReader

OracleCommand.ExecuteReader

Koncepty

Vyplňování objektů DataSet s daty