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.
SQL-instructies die gegevens wijzigen (zoals INSERT, UPDATE of DELETE) retourneren geen rijen. Op dezelfde manier voeren veel opgeslagen procedures een actie uit, maar retourneren ze geen rijen. Als u opdrachten wilt uitvoeren die geen rijen retourneren, maakt u een opdrachtobject met de juiste SQL-opdracht en een verbinding, inclusief de vereiste parameters. Voer de opdracht uit met de methode ExecuteNonQuery van het opdrachtobject .
De methode ExecuteNonQuery retourneert een geheel getal dat het aantal rijen aangeeft dat wordt beïnvloed door de instructie of opgeslagen procedure die is uitgevoerd. Als er meerdere instructies worden uitgevoerd, is de geretourneerde waarde de som van de records die worden beïnvloed door alle uitgevoerde instructies.
Voorbeeld
In het volgende codevoorbeeld wordt een INSERT-instructie uitgevoerd om een record in te voegen in een database met behulp van ExecuteNonQuery.
' Assumes connection is a valid SqlConnection.  
connection.Open()  
  
Dim queryString As String = "INSERT INTO Customers " & _  
  "(CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"  
  
Dim command As SqlCommand = New SqlCommand(queryString, connection)  
Dim recordsAffected As Int32 = command.ExecuteNonQuery()  
// Assumes connection is a valid SqlConnection.  
connection.Open();  
  
string queryString = "INSERT INTO Customers " +  
  "(CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";  
  
SqlCommand command = new SqlCommand(queryString, connection);  
Int32 recordsAffected = command.ExecuteNonQuery();  
In het volgende codevoorbeeld wordt de opgeslagen procedure uitgevoerd die is gemaakt door de voorbeeldcode in Het uitvoeren van catalogusbewerkingen. Er worden geen rijen geretourneerd door de opgeslagen procedure, dus de ExecuteNonQuery-methode wordt gebruikt, maar de opgeslagen procedure ontvangt wel een invoerparameter en retourneert een uitvoerparameter en een retourwaarde.
Voor het OleDbCommand object moet de parameter ReturnValue eerst worden toegevoegd aan de verzameling Parameters .
' Assumes connection is a valid SqlConnection.  
Dim command As SqlCommand = _  
   New SqlCommand("InsertCategory" , connection)  
command.CommandType = CommandType.StoredProcedure  
  
Dim parameter As SqlParameter = _  
 command.Parameters.Add("@RowCount", SqlDbType.Int)  
parameter.Direction = ParameterDirection.ReturnValue  
  
parameter = command.Parameters.Add( _  
  "@CategoryName", SqlDbType.NChar, 15)  
  
parameter = command.Parameters.Add("@Identity", SqlDbType.Int)  
parameter.Direction = ParameterDirection.Output  
  
command.Parameters("@CategoryName").Value = "New Category"  
command.ExecuteNonQuery()  
  
Dim categoryID As Int32 = CInt(command.Parameters("@Identity").Value)  
Dim rowCount As Int32 = CInt(command.Parameters("@RowCount").Value)
// Assumes connection is a valid SqlConnection.  
SqlCommand command = new SqlCommand("InsertCategory" , connection);  
command.CommandType = CommandType.StoredProcedure;  
  
SqlParameter parameter = command.Parameters.Add(  
  "@RowCount", SqlDbType.Int);  
parameter.Direction = ParameterDirection.ReturnValue;  
  
parameter = command.Parameters.Add(  
  "@CategoryName", SqlDbType.NChar, 15);  
  
parameter = command.Parameters.Add("@Identity", SqlDbType.Int);  
parameter.Direction = ParameterDirection.Output;  
  
command.Parameters["@CategoryName"].Value = "New Category";  
command.ExecuteNonQuery();  
  
Int32 categoryID = (Int32) command.Parameters["@Identity"].Value;  
Int32 rowCount = (Int32) command.Parameters["@RowCount"].Value;