This documentation is archived and is not being maintained.

IDbCommand.ExecuteNonQuery Method

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

[Visual Basic]
Function ExecuteNonQuery() As Integer
int ExecuteNonQuery();
int ExecuteNonQuery();
function ExecuteNonQuery() : int;

Return Value

The number of rows affected.


Exception Type Condition
InvalidOperationException The connection does not exist.


The connection is not open.


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.


[Visual Basic, C#, C++] 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.

[Visual Basic] 
Public Sub CreateMyOleDbCommand(myExecuteQuery As String, _
myConnectionString As String)
    Dim myConnection As New OleDbConnection(myConnectionString)
    Dim myCommand As New OleDbCommand(myExecuteQuery, myConnection)
End Sub

public void CreateMyOleDbCommand(string myExecuteQuery, string myConnectionString) 
   OleDbConnection myConnection = new OleDbConnection(myConnectionString);
   OleDbCommand myCommand = new OleDbCommand(myExecuteQuery, myConnection);

 void CreateMyOleDbCommand(String* myExecuteQuery, String* myConnectionString) 
    OleDbConnection* myConnection = new OleDbConnection(myConnectionString);
    OleDbCommand* myCommand = new OleDbCommand(myExecuteQuery, myConnection);

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

IDbCommand Interface | IDbCommand Members | System.Data Namespace