Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: .NET Framework
.NET
Standard
De Microsoft SqlClient-gegevensprovider voor SQL Server heeft SqlCommand een object dat wordt overgenomen van DbCommand. Dit object bevat methoden voor het uitvoeren van opdrachten op basis van het type opdracht en de gewenste retourwaarde, zoals beschreven in de volgende tabel.
| Command | Retourwaarde |
|---|---|
ExecuteReader |
Retourneert een DataReader object. |
ExecuteScalar |
Retourneert één scalaire waarde. |
ExecuteNonQuery |
Hiermee wordt een opdracht uitgevoerd die geen rijen retourneert. |
ExecuteXMLReader |
Geeft als resultaat een XmlReader. Alleen beschikbaar voor een SqlCommand object. |
Elk sterk getypt opdrachtobject ondersteunt ook een CommandType opsomming die aangeeft hoe een opdrachtreeks wordt geïnterpreteerd, zoals beschreven in de volgende tabel.
| CommandType | Description |
|---|---|
Text |
Een SQL-opdracht die de instructies definieert die moeten worden uitgevoerd in de gegevensbron. |
StoredProcedure |
De naam van de opgeslagen procedure. U kunt de Parameters eigenschap van een opdracht gebruiken voor toegang tot invoer- en uitvoerparameters en retourwaarden, ongeacht welke Execute methode wordt aangeroepen. |
TableDirect |
De naam van een tabel. |
Belangrijk
Wanneer u ExecuteReader gebruikt, zijn retourwaarden en uitvoerparameters pas toegankelijk als de DataReader is gesloten.
Example
In het volgende codevoorbeeld ziet u hoe u een SqlCommand object maakt om een opgeslagen procedure uit te voeren door de eigenschappen ervan in te stellen. Een SqlParameter object wordt gebruikt om de invoerparameter voor de opgeslagen procedure op te geven. De opdracht wordt uitgevoerd met behulp van de ExecuteReader methode en de uitvoer van de SqlDataReader opdracht wordt weergegeven in het consolevenster.
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();
}
}
}
Opdrachten voor probleemoplossing
De Microsoft SqlClient-gegevensprovider voor SQL Server voegt diagnostische tellers toe zodat u onregelmatige problemen met betrekking tot mislukte uitvoeringen van opdrachten kunt detecteren. Zie Diagnostische meteritems in SqlClient voor meer informatie.