Sdílet prostřednictvím


Postupy: Vytvoření a provedení příkazu SQL, který vrací jedinou hodnotu

 

Publikováno: srpen 2016

Chcete-li provedení příkazu SQL, který vrací jedinou hodnotu, můžete spustit TableAdapter dotaz, který je nakonfigurován na spuštění příkazu SQL (například CustomersTableAdapter.CustomerCount()).

Pokud vaše aplikace nepoužívá objekty TableAdapter, volání ExecuteScalar metodu na objekt příkazu nastavení jeho CommandType vlastnost Text. ("Objekt příkazu" odkazuje na konkrétní příkaz pro Zprostředkovatel dat .NET Framework vaše aplikace používá. Například pokud vaše aplikace používá zprostředkovatele dat .NET Framework pro SQL Server, objekt příkazu by SqlCommand.)

Následující příklady ukazují, jak spouštět SQL příkazy, které vracejí jednotlivé hodnoty z databáze pomocí buď objekty TableAdapter ani příkaz objekty. Další informace o dotazování s objekty TableAdapter a příkazy naleznete v tématu Vyplnění datové sady pomocí TableAdapter.

Poznámka

Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení integrovaného vývojového prostředí sady Visual Studio.

Provádění SQL příkazy, které vracejí jedné hodnoty pomocí TableAdapter

Tento příklad ukazuje, jak vytvořit pomocí dotazu TableAdapter TableAdapters – úpravy, a následně poskytuje informace o tom, jak deklarovat instanci objektu TableAdapter a provedení dotazu.

Chcete-li vytvořit příkaz SQL vrácení jedné hodnoty pomocí TableAdapter

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

  2. Pokud není ještě nemáte, vytvořte TableAdapter. Další informace o vytváření položek TableAdapters naleznete v tématu Vytvořit a konfigurovat objekty TableAdapter.

  3. Pokud již máte dotaz na vaše TableAdapter, které používá příkaz SQL pro vrátit jednu hodnotu, pak pokračujte v dalším postupu, deklarovat instanci objektu TableAdapter a provedení dotazu. Jinak pokračujte krokem 4 vytvořte nový dotaz, který vrací jedinou hodnotu.

  4. Klikněte pravým tlačítkem na TableAdapter, který chcete a přidat dotaz pomocí místní nabídku.

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

  5. Ponechte výchozí hodnotu pomocí SQL příkazy, a potom klikněte na tlačítko Další.

  6. Zvolte Vybrat, který vrací jedinou hodnotu možnost a potom klikněte na tlačítko Další.

  7. Zadejte příkaz SQL nebo pomocí Tvůrce dotazů pomohou s vytvořením a potom klikněte na Další.

  8. Zadejte název dotazu.

  9. Dokončete průvodce. dotaz je přidán do objektu TableAdapter.

  10. Sestavte projekt.

Chcete-li deklarovat instanci objektu TableAdapter a provedení dotazu

  1. Deklarujte instanci třídy TableAdapter, který obsahuje dotaz, který chcete spustit.

    • Chcete-li vytvořit instanci pomocí návrhových nástrojů, přetáhněte TableAdapter, které chcete z nástrojů. (Součásti v projektu se nyní zobrazí v nástrojů pod nadpisem, který odpovídá název projektu.) Pokud TableAdapter se nezobrazí v nástrojů, budete muset sestavte 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

      Objekty TableAdapter nejsou ve skutečnosti umístěný uvnitř jejich přidružený objekt dataset tříd. Každý objekt dataset má odpovídající kolekci třídy TableAdapter v vlastní obor názvů. Například, pokud máte datovou sadu s názvem SalesDataSet, pak by byl SalesDataSetTableAdapters obor názvů, který obsahuje jeho objekty TableAdapter.

  2. Volejte dotazu, jako by volání jakékoli jiné metody v kódu. Dotaz je metoda na objektu TableAdapter. Nahraďte následující kód názvy TableAdapter a dotazu. Také je nutné předat parametry požadované v dotazu a dělat něco s návratovou hodnotou (například jej přiřadit proměnné). Pokud si nejste jisti, zda váš dotaz vyžaduje parametry, nebo jaké parametry vyžaduje, zkontrolujte technologie IntelliSense pro požadovaný podpis dotazu. V závislosti na tom, zda váš dotaz přebírá parametry nebo ne by vypadat podobně jako na jednu z následujících příkladů kódu:

    TableAdapter.Query()

    TableAdapter.Query(Parameters)

  3. Bude pravděpodobně nutné přiřadit hodnoty vrácené dotazem na proměnnou. Dotazů TableAdapter, které vrací jedinou hodnotu návratový typ dat na základě dotazu (nikoli ExecuteScalar metodu, která vrací objekt). Například pokud váš dotaz TableAdapter vybere jeden sloupec, jehož typ dat je celé číslo, pak dotazu vrácená hodnota je celé číslo. Pokud sloupec povoluje hodnoty null, návratová hodnota je jeden z typů s povolenou hodnotou Null (například Nullable(Of Integer)). Další informace o typech s povolenou hodnotou Null, naleznete v části Nullable. Kompletní kód deklarovat instanci TableAdapter a provedení dotazu by měl vypadat jako následující (v tomto příkladu předpokládáme návratový hodnota je celé číslo; upravit kódu podle typu dat vrácených v dotazu):

    NorthwindDataSetTableAdapters.CustomersTableAdapter tableAdapter = 
        new NorthwindDataSetTableAdapters.CustomersTableAdapter();
    
    int returnValue = (int)tableAdapter.GetCustomerCount();
    
    Dim tableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter()
    
    Dim returnValue As Integer
    returnValue = CType(tableAdapter.GetCustomerCount(), Integer)
    

Provádění SQL příkazy, které vracejí jedné hodnoty pomocí objekt příkazu

Následující příklad ukazuje způsob vytvoření příkazu a provedení příkazu SQL, který vrací jedinou hodnotu. Informace o nastavení a získání hodnoty parametru příkazu naleznete v tématu Postupy: Nastavování a získávání parametrů pro objekty příkazu.

Tento příklad používá 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 source SqlConnection1 připojuje. (Jinak, je třeba platný příkaz SQL pro zdroj dat).

K provedení příkazu SQL vrácení jedné hodnoty pomocí DataCommand

  • Přidejte následující kód do metody, kterou chcete spustit kód z. Vrátit jednu hodnotu voláním ExecuteScalar Metoda příkazu (například ExecuteScalar). Data jsou vrácena v Object.

    SqlConnection sqlConnection1 = new SqlConnection("Your Connection String");
    SqlCommand cmd = new SqlCommand();
    Object returnValue;
    
    cmd.CommandText = "SELECT COUNT(*) FROM Customers";
    cmd.CommandType = CommandType.Text;
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    
    returnValue = cmd.ExecuteScalar();
    
    sqlConnection1.Close();
    
    Dim sqlConnection1 As New SqlConnection("Your Connection String")
    Dim cmd As New SqlCommand
    Dim returnValue As Object
    
    cmd.CommandText = "SELECT COUNT(*) FROM Customers"
    cmd.CommandType = CommandType.Text
    cmd.Connection = sqlConnection1
    
    sqlConnection1.Open()
    
    returnValue = cmd.ExecuteScalar()
    
    sqlConnection1.Close()
    

Zabezpečení rozhraní .NET Framework

Aplikace vyžaduje oprávnění k přístupu k databázi a spusťte příkaz jazyka SQL.

Viz také

SqlCommand.ExecuteScalar
OleDbCommand.ExecuteScalar
OdbcCommand.ExecuteScalar
OracleCommand.ExecuteScalar
Postupy: Vytváření dotazů TableAdapter
Postupy: Upravování dotazů TableAdapter
Postupy: vyplnění datové sady daty
Vyplnění datové sady pomocí TableAdapter
Postupy: Nastavování a získávání parametrů pro objekty příkazu