Jak: vytvořit a spustit příkaz SQL, který vrací jedinou hodnotu.
Chcete-li spustit příkaz SQL, který vrací jednu hodnotu, můžete spustit dotaz TableAdapter, který je konfigurován na spuštění příkazu SQL (například CustomersTableAdapter.CustomerCount()).
Pokud aplikace nepoužívá TableAdapters, volání ExecuteScalar metodu objektu příkaz, nastavení jeho CommandType vlastnost Text.("Příkaz objekt" odkazuje na konkrétní příkaz .NET Framework Data Provider vaší aplikace.Pokud aplikace používá například.Objekt příkazu NET Framework pro SQL Server, by SqlCommand.)
Následující příklady ukazují způsob spouštění příkazů SQL, které vrací hodnoty jednoho 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.
Provádění příkazů SQL, které jediné hodnoty pomocí 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řit příkaz SQL, který vrací jedinou hodnotu pomocí TableAdapter
Otevřete objekt dataset v Dataset Návrhář.Další informace naleznete v tématu Jak: Otevřete Návrhář Dataset objektu Dataset.
Pokud již nemáte jednu vytvořit TableAdapter.Další informace o vytváření TableAdapters viz Jak: vytvoření TableAdapters.
Pokud jste již na vašem TableAdapter, který vrací jedinou hodnotu pomocí příkazu SQL dotazu, pak pokračujte další postup "deklarovat instance TableAdapter a spuštění dotazu. Jinak pokračujte krokem 4 vytvořte nový dotaz, který vrací jedinou hodnotu.
Tlačítkem TableAdapter, který má a přidat dotaz pomocí místní nabídky.
TableAdapter dotazu konfigurace Průvodce otevře.
Ponechejte výchozí hodnotu příkazy SQL použíta klepněte na tlačítko Další.
Zvolte Vybrat, které vrátí jednu hodnotu možnost a potom klepněte na tlačítko Další.
Zadejte příkaz SQL nebo použít Tvůrce dotazu pomáhat s vytvářením jedno a klepněte na tlačítko Další.
Zadejte název dotazu.
Dokončení Průvodce; dotaz je přidán do TableAdapter.
Sestavte projekt.
Deklarovat instance TableAdapter a spuštění dotazu
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, pak by bylo SalesDataSetTableAdapters oboru názvů, který obsahuje jeho TableAdapters.
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.Je také třeba předat parametry požadované daným dotazu a udělat něco s vrácenou hodnotu (například přiřaďte ji proměnné).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)
Bude pravděpodobně nutné přiřadit hodnoty vrácené dotazem na proměnnou.TableAdapter dotazy, které vrací jedinou hodnotu vrátí typ dat na základě dotazu (nikoli ExecuteScalar metodu, která vrací objekt).Například pokud TableAdapter dotaz vybere jeden sloupec, jehož typ dat je celé číslo, potom vrácená hodnota dotazu je celé číslo.Pokud sloupec umožňuje použití hodnot null, vrácená hodnota je jeden z typů s možnou hodnotou Null (například Nullable(Of Integer)).Další informace o typech s možnou hodnotou Null, viz Nullable.Kód dokončení deklarovat instance TableAdapter a spustit dotaz by měl vypadat jako následující (Tento příklad předpokládá vrácená hodnota je celé číslo; Upravte kód typu dat vrácených v dotazu):
Dim tableAdapter As New NorthwindDataSetTableAdapters.CustomersTableAdapter() Dim returnValue As Integer returnValue = CType(tableAdapter.GetCustomerCount(), Integer)
NorthwindDataSetTableAdapters.CustomersTableAdapter tableAdapter = new NorthwindDataSetTableAdapters.CustomersTableAdapter(); int returnValue = (int)tableAdapter.GetCustomerCount();
Provádění příkazů SQL, které jediné hodnoty pomocí objektu Command
Následující příklad ukazuje, jak vytvořit příkaz a provést příkaz SQL, který vrací jedinou hodnotu.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 příkaz SQL, který vrací jedinou hodnotu pomocí DataCommand
Přidejte následující kód na metodu, kterou chcete spustit kód z.Vrátí jednu hodnotu voláním ExecuteScalar metoda příkazu (například ExecuteScalar).Data jsou vrácena v Object.
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()
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();
Zabezpečení
Aplikace vyžaduje oprávnění k přístupu do databáze a spustit příkaz SQL.
Viz také
Úkoly
Jak: vytvoření TableAdapter dotazy
Jak: úpravy TableAdapter dotazy
Jak: výplň objektu Dataset s daty
Jak: nastavení a získat parametry příkazu objekty