Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: .NET Framework
.NET .NET
Standard
Microsoft SqlClient-dataprovidern för SQL Server har SqlCommand objekt som ärver från DbCommand. Det här objektet exponerar metoder för att köra kommandon baserat på typen av kommando och önskat returvärde, enligt beskrivningen i följande tabell.
| Befallning | Returvärde |
|---|---|
ExecuteReader |
Returnerar ett DataReader objekt. |
ExecuteScalar |
Returnerar ett enskilt skalärt värde. |
ExecuteNonQuery |
Kör ett kommando som inte returnerar några rader. |
ExecuteXMLReader |
Returnerar en XmlReader. Endast tillgängligt för ett SqlCommand objekt. |
Varje starkt skrivet kommandoobjekt stöder också en CommandType uppräkning som anger hur en kommandosträng tolkas, enligt beskrivningen i följande tabell.
| CommandType | Description |
|---|---|
Text |
Ett SQL-kommando som definierar de instruktioner som ska köras i datakällan. |
StoredProcedure |
Namnet på den lagrade proceduren. Du kan använda Parameters egenskapen för ett kommando för att komma åt indata- och utdataparametrar och returnera värden, oavsett vilken metod som Execute anropas. |
TableDirect |
Namnet på en tabell. |
Viktigt!
När du använder ExecuteReaderkommer returvärden och utdataparametrar inte att vara tillgängliga förrän den DataReader har stängts.
Example
I följande kodexempel visas hur du skapar ett SqlCommand objekt för att köra en lagrad procedur genom att ange dess egenskaper. Ett SqlParameter objekt används för att ange indataparametern till den lagrade proceduren. Kommandot körs med metoden ExecuteReader och utdata från SqlDataReader visas i konsolfönstret.
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();
}
}
}
Felsökningskommandon
Microsoft SqlClient-dataprovidern för SQL Server lägger till diagnostikräknare så att du kan identifiera tillfälliga problem som rör misslyckade kommandokörningar. Mer information finns i Diagnostikräknare i SqlClient.