OleDbCommand.ExecuteNonQuery Method
Executes a SQL statement against the Connection and returns the number of rows affected.
[Visual Basic] Public Overridable Function ExecuteNonQuery() As Integer Implements _ IDbCommand.ExecuteNonQuery [C#] public virtual int ExecuteNonQuery(); [C++] public: virtual int ExecuteNonQuery(); [JScript] public function ExecuteNonQuery() : int;
Return Value
The number of rows affected.
Implements
Exceptions
| Exception Type | Condition |
|---|---|
| InvalidOperationException | The connection does not exist.
-or- The connection is not open. -or-Cannot execute a command within a transaction context that differs from the context in which the connection was originally enlisted. |
Remarks
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. If a rollback occurs, the return value is also -1.
Example
[Visual Basic, C#, C++] The following example creates an OleDbCommand and then executes it using ExecuteNonQuery. The example is passed a string that is an SQL statement (such as UPDATE, INSERT, or DELETE) 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) myCommand.Connection.Open() myCommand.ExecuteNonQuery() MyConnection.Close() End Sub [C#] public void CreateMyOleDbCommand(string myExecuteQuery, string myConnectionString) { OleDbConnection myConnection = new OleDbConnection(myConnectionString); OleDbCommand myCommand = new OleDbCommand(myExecuteQuery, myConnection); myCommand.Connection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); } [C++] public: void CreateMyOleDbCommand(String* myExecuteQuery, String* myConnectionString) { OleDbConnection* myConnection = new OleDbConnection(myConnectionString); OleDbCommand* myCommand = new OleDbCommand(myExecuteQuery, myConnection); myCommand->Connection->Open(); myCommand->ExecuteNonQuery(); myConnection->Close(); }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
OleDbCommand Class | OleDbCommand Members | System.Data.OleDb Namespace