Export (0) Print
Expand All

SqlCommand.ExecuteNonQuery Method

Executes a Transact-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

IDbCommand.ExecuteNonQuery

Exceptions

Exception Type Condition
SqlException An exception occurred while executing the command against a locked row. This exception is not generated when using Microsoft .NET Framework version 1.0.

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 a SqlCommand and then executes it using ExecuteNonQuery. The example is passed a string that is a Transact-SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to connect to the data source.

[Visual Basic] 
Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As SqlConnection)
    Dim myCommand As New SqlCommand(myExecuteQuery, myConnection)
    myCommand.Connection.Open()
    myCommand.ExecuteNonQuery()
    myConnection.Close()
End Sub 'CreateMySqlCommand

[C#] 
public void CreateMySqlCommand(string myExecuteQuery, SqlConnection myConnection) 
 {
    SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();
 }

[C++] 
public:
void CreateMySqlCommand(String* myExecuteQuery, SqlConnection* myConnection) 
 {
    SqlCommand* myCommand = new SqlCommand(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 Language Filter 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, .NET Compact Framework

See Also

SqlCommand Class | SqlCommand Members | System.Data.SqlClient Namespace

Show:
© 2014 Microsoft