SqlCommand.ExecuteNonQuery 메서드

정의

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

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

반품

영향을 받는 행의 수입니다.

구현

예외

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

-또는-

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

-또는-

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

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

-또는-

스트리밍 작업 중에 시간 제한이 발생했습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

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

SqlConnection 스트리밍 작업 중에 닫혔거나 삭제된 경우 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

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

예제

다음 예제에서는 a를 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입니다.

적용 대상

추가 정보