Share via

IDbCommand.ExecuteNonQuery Method


Executes an SQL statement against the Connection object of a .NET data provider, and returns the number of rows affected.

 int ExecuteNonQuery();
public int ExecuteNonQuery ();
abstract member ExecuteNonQuery : unit -> int
Public Function ExecuteNonQuery () As Integer


The number of rows affected.


The connection does not exist.


The connection is not open.


The following example creates an instance of the derived class, OleDbCommand, and then executes it. To accomplish this, the method is passed a string that is a SQL SELECT statement and a string to use to connect to the data source.

static private void CreateOleDbCommand(
    string queryString, string connectionString)
    using (OleDbConnection connection = new
        OleDbCommand command = new
            OleDbCommand(queryString, connection);
Private Sub CreateOleDbCommand( _
    ByVal queryString As String, ByVal connectionString As String)
    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)
    End Using
End Sub


You can use the ExecuteNonQuery to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables), or to change the data in a database without using a DataSet by executing UPDATE, INSERT, or DELETE statements.

Although the ExecuteNonQuery does not return any rows, any output parameters or return values mapped to parameters are populated with data.

For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is -1.

Applies to