Bahasa
Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setiap penyedia data ADO.NET memiliki objek perintah sendiri yang mewarisi dari DbCommand. .NET Framework Data Provider untuk OLE DB menyertakan objek OleDbCommand, Microsoft.Data.SqlClient menyertakan objek SqlCommand, .NET Framework Data Provider untuk ODBC menyertakan objek OdbcCommand, dan .NET Framework Data Provider untuk Oracle menyertakan objek OracleCommand. Masing-masing objek ini mengekspos metode untuk menjalankan perintah berdasarkan jenis perintah dan nilai pengembalian yang diinginkan, seperti yang dijelaskan dalam tabel berikut.
| Perintah | Mengembalikan Nilai |
|---|---|
ExecuteReader |
Mengembalikan objek DataReader. |
ExecuteScalar |
Mengembalikan nilai skalar tunggal. |
ExecuteNonQuery |
Menjalankan perintah yang tidak mengembalikan baris apa pun. |
ExecuteXMLReader |
Mengembalikan XmlReader. Hanya tersedia untuk SqlCommand objek. |
Setiap objek perintah yang di ketik dengan kuat juga mendukung CommandType enumerasi yang menentukan bagaimana string perintah ditafsirkan, seperti yang dijelaskan dalam tabel berikut.
| Jenis Perintah | Deskripsi |
|---|---|
Text |
Perintah SQL yang menentukan pernyataan yang akan dijalankan di sumber data. |
StoredProcedure |
Nama prosedur tersimpan. Anda dapat menggunakan Parameters properti perintah untuk mengakses parameter input dan output dan mengembalikan nilai, terlepas dari metode mana yang Execute dipanggil. Saat menggunakan ExecuteReader, mengembalikan nilai dan parameter output tidak akan dapat diakses sampai DataReader ditutup. |
TableDirect |
Nama sebuah tabel. |
Contoh
Contoh kode berikut menunjukkan cara membuat SqlCommand objek untuk menjalankan prosedur tersimpan dengan mengatur propertinya. Objek SqlParameter digunakan untuk menentukan parameter input ke prosedur tersimpan. Perintah dijalankan menggunakan ExecuteReader metode , dan output dari SqlDataReader ditampilkan di jendela konsol.
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
Perintah Pemecahan Masalah
Microsoft. Data.SqlClient mengekspos penghitung kinerja Windows pada .NET Framework dan EventCounters pada .NET modern. Untuk informasi selengkapnya, lihat Penghitung Kinerja.