Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: .NET Framework
.NET
Standard
Zprostředkovatel dat Microsoft SqlClient pro SQL Server má SqlCommand objekt, který dědí z DbCommand. Tento objekt zveřejňuje metody pro spouštění příkazů na základě typu příkazu a požadované návratové hodnoty, jak je popsáno v následující tabulce.
| Command | Návratová hodnota |
|---|---|
ExecuteReader |
Vrátí DataReader objekt. |
ExecuteScalar |
Vrátí jednu skalární hodnotu. |
ExecuteNonQuery |
Spustí příkaz, který nevrací žádné řádky. |
ExecuteXMLReader |
Vrátí hodnotu XmlReader. K dispozici pouze pro SqlCommand objekt. |
Každý objekt silně typovaného příkazu také podporuje výčet CommandType, který určuje, jak se interpretuje řetězec příkazu, jak je popsáno v následující tabulce.
| CommandType | Description |
|---|---|
Text |
Příkaz SQL definující příkazy, které se mají spustit ve zdroji dat. |
StoredProcedure |
Název uložené procedury. Vlastnost příkazu můžete použít Parameters pro přístup ke vstupním a výstupním parametrům a návratovým hodnotám bez ohledu na to, kterou Execute metodu se volá. |
TableDirect |
Název tabulky. |
Důležité
Při použití ExecuteReader nebudou návratové hodnoty a výstupní parametry přístupné, dokud se DataReader nezavře.
Example
Následující příklad kódu ukazuje, jak vytvořit SqlCommand objekt pro spuštění uložené procedury nastavením jeho vlastností. Objekt SqlParameter slouží k zadání vstupního parametru uložené procedury. Příkaz se spustí pomocí ExecuteReader metody a výstup z SqlDataReader okna konzoly se zobrazí.
static void GetSalesByCategory(string connectionString,
string categoryName)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
// Create the command and set its properties.
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "SalesByCategory";
command.CommandType = CommandType.StoredProcedure;
// Add the input parameter and set its properties.
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@CategoryName";
parameter.SqlDbType = SqlDbType.NVarChar;
parameter.Direction = ParameterDirection.Input;
parameter.Value = categoryName;
// Add the parameter to the Parameters collection.
command.Parameters.Add(parameter);
// Open the connection and execute the reader.
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
Console.WriteLine("{0}: {1:C}", reader[0], reader[1]);
}
}
else
{
Console.WriteLine("No rows found.");
}
reader.Close();
}
}
}
Příkazy pro řešení potíží
Zprostředkovatel dat Microsoft SqlClient pro SQL Server přidává diagnostické čítače , které umožňují detekovat přerušované problémy související s neúspěšnými spuštěními příkazů. Další informace naleznete v tématu Diagnostické čítače v SqlClient.