Notatka
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 ADO.NET ma własny obiekt polecenia, który dziedziczy z DbCommand. .NET Framework Dostawca danych dla OLE DB zawiera obiekt OleDbCommand, Microsoft.Data.SqlClient zawiera obiekt SqlCommand, .NET Framework Dostawca danych for ODBC zawiera obiekt OdbcCommand, a .NET Framework Dostawca danych for 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 ExecuteReaderwartoś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
Microsoft.Data.SqlClient udostępnia liczniki wydajności systemu Windows w .NET Framework i EventCounters w nowoczesnym .NET. Aby uzyskać więcej informacji, zobacz Liczniki wydajności.
Zobacz też
- Komendy i parametry
- Adaptery danych i Czytniki danych
- ADO.NET — omówienie