SqlCommand.ExecuteNonQuery 메서드

정의

연결에 대한 Transact-SQL 문을 실행하고 영향을 받는 행의 수를 반환합니다.

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

반환

Int32

영향을 받은 행 수입니다.

구현

예외

SqlDbType 이진 또는 VarBinary 이외의 A는 로 설정Stream되었을 때 Value 사용되었습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

또는

SqlDbType Char, NChar, NVarChar, VarChar 또는 Xml 이외의 다른 형식은 .로 설정TextReader되었을 때 Value 사용되었습니다.

또는

SqlDbType 설정XmlReader되었을 때 Value Xml 이외의 다른 요소가 사용되었습니다.

잠긴 행에 대해 명령을 실행하는 동안 예외가 발생했습니다. Microsoft .NET Framework 버전 1.0을 사용하는 경우에는 이 예외가 생성되지 않습니다.

또는

스트리밍 작업 동안 시간이 초과되었습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

스트리밍 작업 동안 Stream, XmlReader 또는 TextReader 개체에서 오류가 발생했습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

스트리밍 작업 동안 SqlConnection이 닫히거나 삭제되었습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

스트리밍 작업 동안 Stream, XmlReader 또는 TextReader 개체가 닫혔습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

예제

다음 예제에서는 만듭니다 및 SqlCommand 다음을 사용 하 여 ExecuteNonQuery실행 합니다. 이 예제에서는 Transact-SQL 문(예: UPDATE, INSERT 또는 DELETE)인 문자열과 데이터 원본에 연결하는 데 사용할 문자열을 전달합니다.

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

설명

카탈로그 작업(예: 데이터베이스 구조 쿼리 또는 테이블과 같은 데이터베이스 개체 만들기)을 수행하거나 UPDATE, INSERT 또는 DELETE 문을 실행 DataSet 하지 않고 데이터베이스의 데이터를 변경할 수 ExecuteNonQuery 있습니다.

행은 ExecuteNonQuery 반환하지 않지만 매개 변수에 매핑된 출력 매개 변수 또는 반환 값은 데이터로 채워집니다.

UPDATE, INSERT 및 DELETE 문의 경우, 반환 값은 해당 명령의 영향을 받는 행의 수입니다. 다른 형식의 문의 경우에는 반환 값이 -1입니다.

삽입 또는 업데이트되는 테이블에 트리거가 있는 경우 반환 값에는 삽입 또는 업데이트 작업의 영향을 받는 행 수와 트리거 또는 트리거의 영향을 받는 행 수가 포함됩니다.

SET NOCOUNT ON이 연결에 설정된 경우(명령 실행 전 또는 명령 실행의 일부로 또는 명령 실행에 의해 시작된 트리거의 일부로) 개별 문의 영향을 받는 행이 이 메서드에서 반환되는 영향을 받는 행 수에 영향을 주지 않습니다.

개수에 영향을 주는 문이 검색되지 않으면 반환 값은 -1입니다. 롤백이 발생하면 반환 값도 -1입니다.

적용 대상

추가 정보