SqlCommand.ExecuteNonQuery 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결에 대한 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
반환
영향을 받은 행 수입니다.
구현
예외
이 SqlDbType 로 설정된 Stream경우 ValueBinary 또는 VarBinary 이외의 가 사용되었습니다. 스트리밍에 대한 자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.
또는
이 로 SqlDbType 설정TextReader되었을 때 ValueChar, NChar, NVarChar, VarChar 또는 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
설명
를 사용하여 ExecuteNonQuery 카탈로그 작업(예: 데이터베이스 구조 쿼리 또는 테이블과 같은 데이터베이스 개체 만들기)을 수행하거나 UPDATE, INSERT 또는 DELETE 문을 실행하여 를 사용하지 DataSet 않고 데이터베이스의 데이터를 변경할 수 있습니다.
는 행을 ExecuteNonQuery 반환하지 않지만 매개 변수에 매핑된 출력 매개 변수 또는 반환 값은 데이터로 채워집니다.
UPDATE, INSERT 및 DELETE 문의 경우, 반환 값은 해당 명령의 영향을 받는 행의 수입니다. 다른 형식의 문의 경우에는 반환 값이 -1입니다.
삽입 또는 업데이트되는 테이블에 트리거가 있는 경우 반환 값에는 삽입 또는 업데이트 작업의 영향을 받는 행 수와 트리거 또는 트리거의 영향을 받는 행 수가 포함됩니다.
SET NOCOUNT ON이 연결에 설정된 경우(명령 실행 전 또는 명령 실행의 일부로 또는 명령 실행에 의해 시작된 트리거의 일부로) 개별 문의 영향을 받는 행이 이 메서드에서 반환되는 영향을 받는 행 수에 영향을 주지 않습니다.
개수에 영향을 주는 문이 검색되지 않으면 반환 값은 -1입니다. 롤백이 발생하면 반환 값도 -1입니다.
적용 대상
추가 정보
.NET