SqlCommand.ExecuteNonQuery Methode

Definitie

Voert een Transact-SQL-instructie uit voor de verbinding en retourneert het aantal betrokken rijen.

public:
 virtual int ExecuteNonQuery();
public:
 override int ExecuteNonQuery();
public int ExecuteNonQuery();
public override int ExecuteNonQuery();
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Function ExecuteNonQuery () As Integer
Public Overrides Function ExecuteNonQuery () As Integer

Retouren

Het aantal rijen dat is beïnvloed.

Implementeringen

Uitzonderingen

Een SqlDbType andere dan Binary of VarBinary is gebruikt wanneer Value deze is ingesteld op Stream. Zie Ondersteuning voor sqlClient-streaming voor meer informatie over streaming.

– of –

Een SqlDbType andere naam dan Char, NChar, NVarChar, VarChar of XML is gebruikt wanneer Value deze is ingesteld op TextReader.

– of –

Er is een SqlDbType andere dan XML gebruikt wanneer Value deze is ingesteld op XmlReader.

Er is een uitzondering opgetreden tijdens het uitvoeren van de opdracht voor een vergrendelde rij. Deze uitzondering wordt niet gegenereerd wanneer u Microsoft .NET Framework versie 1.0 gebruikt.

– of –

Er is een time-out opgetreden tijdens een streamingbewerking. Zie Ondersteuning voor sqlClient-streaming voor meer informatie over streaming.

Er is een fout opgetreden in een Streamof XmlReaderTextReader object tijdens een streamingbewerking. Zie Ondersteuning voor sqlClient-streaming voor meer informatie over streaming.

De SqlConnection gesloten of verbroken tijdens een streamingbewerking. Zie Ondersteuning voor sqlClient-streaming voor meer informatie over streaming.

Het Streamobject XmlReader of TextReader het object is gesloten tijdens een streamingbewerking. Zie Ondersteuning voor sqlClient-streaming voor meer informatie over streaming.

Voorbeelden

In het volgende voorbeeld wordt een SqlCommand gemaakt en vervolgens uitgevoerd met behulp van ExecuteNonQuery. Het voorbeeld wordt doorgegeven aan een tekenreeks die een Transact-SQL instructie (zoals UPDATE, INSERT of DELETE) is en een tekenreeks die moet worden gebruikt om verbinding te maken met de gegevensbron.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

Opmerkingen

U kunt catalogusbewerkingen ExecuteNonQuery uitvoeren (bijvoorbeeld het uitvoeren van query's op de structuur van een database of het maken van databaseobjecten zoals tabellen) of het wijzigen van de gegevens in een database zonder een DataSet update-, INSERT- of DELETE-instructies uit te voeren.

Hoewel het ExecuteNonQuery resultaat geen rijen retourneert, worden alle uitvoerparameters of retourwaarden die zijn toegewezen aan parameters gevuld met gegevens.

Voor de instructies UPDATE, INSERT en DELETE is de retourwaarde het aantal rijen dat wordt beïnvloed door de opdracht. Voor alle andere typen instructies is de retourwaarde -1.

Wanneer er een trigger bestaat in een tabel die wordt ingevoegd of bijgewerkt, bevat de retourwaarde het aantal rijen dat wordt beïnvloed door zowel de invoeg- of bijwerkbewerking als het aantal rijen dat wordt beïnvloed door de trigger of triggers.

Wanneer SET NOCOUNT ON is ingesteld op de verbinding (vóór of als onderdeel van het uitvoeren van de opdracht, of als onderdeel van een trigger die is geïnitieerd door de uitvoering van de opdracht) stoppen de rijen die worden beïnvloed door afzonderlijke instructies, stoppen met het aantal rijen dat wordt geretourneerd door deze methode.

Als er geen instructies worden gedetecteerd die bijdragen aan het aantal, is de retourwaarde -1. Als er een terugdraaiactie plaatsvindt, is de retourwaarde ook -1.

Van toepassing op

Zie ook