Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każdy dostawca danych dołączony do .NET Framework ma własny obiekt polecenia, który dziedziczy z DbCommand. Dostawca danych .NET Framework dla OLE DB zawiera obiekt OleDbCommand, dostawca danych programu .NET Framework dla programu SQL Server zawiera obiekt SqlCommand, dostawca danych programu .NET Framework dla ODBC zawiera obiekt OdbcCommand, a dostawca danych programu .NET Framework dla oracle zawiera obiekt OracleCommand. Każdy z tych obiektów uwidacznia metody wykonywania poleceń na podstawie typu polecenia i żądanej wartości zwracanej, jak opisano w poniższej tabeli.
Komenda | Wartość zwracana |
---|---|
ExecuteReader |
Zwraca obiekt DataReader . |
ExecuteScalar |
Zwraca pojedynczą wartość skalarną. |
ExecuteNonQuery |
Wykonuje polecenie, które nie zwraca żadnych wierszy. |
ExecuteXMLReader |
Zwraca XmlReader. Dostępny tylko dla obiektu SqlCommand . |
Każdy silnie typowany obiekt polecenia obsługuje również wyliczenie CommandType określające sposób interpretowania ciągu polecenia zgodnie z opisem w poniższej tabeli.
Typ polecenia | Opis |
---|---|
Text |
Polecenie SQL definiujące instrukcje do wykonania w źródle danych. |
StoredProcedure |
Nazwa procedury składowanej. Można użyć właściwości Parameters polecenia, aby uzyskać dostęp do parametrów wejściowych i wyjściowych i zwracanych wartości, niezależnie od tego, która metoda Execute jest wywoływana. W przypadku korzystania z ExecuteReader wartości zwracane i parametry wyjściowe nie będą dostępne do momentu zamknięcia DataReader . |
TableDirect |
Nazwa tabeli. |
Przykład
W poniższym przykładzie kodu pokazano, jak utworzyć obiekt SqlCommand w celu wykonania procedury składowanej przez ustawienie jego właściwości. Obiekt SqlParameter służy do określania parametru wejściowego procedury składowanej. Polecenie jest wykonywane przy użyciu metody ExecuteReader, a dane wyjściowe z SqlDataReader są wyświetlane w oknie konsoli.
static void GetSalesByCategory(string connectionString,
string categoryName)
{
using (SqlConnection connection = new(connectionString))
{
// Create the command and set its properties.
SqlCommand command = new()
{
Connection = connection,
CommandText = "SalesByCategory",
CommandType = CommandType.StoredProcedure
};
// Add the input parameter and set its properties.
SqlParameter parameter = new()
{
ParameterName = "@CategoryName",
SqlDbType = SqlDbType.NVarChar,
Direction = ParameterDirection.Input,
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($"{reader[0]}: {reader[1]:C}");
}
}
else
{
Console.WriteLine("No rows found.");
}
reader.Close();
}
}
}
Shared Sub GetSalesByCategory(ByVal connectionString As String, _
ByVal categoryName As String)
Using connection As New SqlConnection(connectionString)
' Create the command and set its properties.
Dim command As SqlCommand = New SqlCommand()
command.Connection = connection
command.CommandText = "SalesByCategory"
command.CommandType = CommandType.StoredProcedure
' Add the input parameter and set its properties.
Dim parameter As 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 reader As SqlDataReader = command.ExecuteReader()
If reader.HasRows Then
Do While reader.Read()
Console.WriteLine("{0}: {1:C}", _
reader(0), reader(1))
Loop
Else
Console.WriteLine("No rows returned.")
End If
End Using
End Using
End Sub
Polecenia diagnostyczne
Dostawca danych programu .NET Framework dla programu SQL Server dodaje liczniki wydajności, aby umożliwić wykrywanie sporadycznych problemów związanych z nieudanymi wykonaniami poleceń. Aby uzyskać więcej informacji, zobacz liczniki wydajności .
Zobacz też
- Komendy i parametry
- Adaptery danych i Czytniki danych
- ADO.NET — omówienie