SqlCommand.ExecuteNonQuery 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결에 대해 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 사용되었습니다.
-또는-
잠긴 행에 대해 명령을 실행하는 동안 예외가 발생했습니다. 이 예외는 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입니다.