Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET Framework'e dahil edilen her .NET Framework veri sağlayıcısının, DbCommand'den devralan kendi komut nesnesi vardır. OLE DB için .NET Framework Veri Sağlayıcısı bir OleDbCommand nesnesi, SQL Server için .NET Framework Veri Sağlayıcısı bir SqlCommand nesnesi, ODBC için .NET Framework Veri Sağlayıcısı bir OdbcCommand nesnesi ve Oracle için .NET Framework Veri Sağlayıcısı bir OracleCommand nesnesi içerir. Bu nesnelerin her biri, aşağıdaki tabloda açıklandığı gibi komut türüne ve istenen dönüş değerine göre komutları yürütmek için yöntemleri kullanıma sunar.
| Komut | Dönüş Değeri |
|---|---|
ExecuteReader |
Bir DataReader nesnesi döndürür. |
ExecuteScalar |
Tek bir skaler değer döndürür. |
ExecuteNonQuery |
Satır geri döndürmeyen bir komut yürütür. |
ExecuteXMLReader |
Bir XmlReaderdöndürür. Yalnızca SqlCommand nesnesi için kullanılabilir. |
Kesin olarak yazılan her komut nesnesi, aşağıdaki tabloda açıklandığı gibi bir komut dizesinin nasıl yorumlandığını belirten bir CommandType numaralandırmasını da destekler.
| KomutTürü | Açıklama |
|---|---|
Text |
Veritabanı kaynağında yürütülecek ifadeleri tanımlayan bir SQL komutu. |
StoredProcedure |
Saklı yordamın adı. Bir komutun Parameters özelliğini kullanarak giriş ve çıkış parametrelerine erişebilir ve hangi Execute yönteminin çağrıldığından bağımsız olarak değerler döndürebilirsiniz.
ExecuteReaderkullanılırken, DataReader kapatılana kadar dönüş değerlerine ve çıkış parametrelerine erişilemez. |
TableDirect |
Tablonun adı. |
Örnek
Aşağıdaki kod örneği, özelliklerini ayarlayarak saklı yordamı yürütmek için bir SqlCommand nesnesinin nasıl oluşturulacağını gösterir. Saklı yordamın giriş parametresini belirtmek için bir SqlParameter nesnesi kullanılır. komut ExecuteReader yöntemi kullanılarak yürütülür ve SqlDataReader çıkışı konsol penceresinde görüntülenir.
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
Sorun Giderme Komutları
SQL Server için .NET Framework Veri Sağlayıcısı, başarısız komut yürütmeleriyle ilgili aralıklı sorunları algılamanızı sağlayan performans sayaçları ekler. Daha fazla bilgi için bkz. Performans Sayaçları.