SqlCeCommand.ExecuteNonQuery 메서드

SqlCeConnection에 대해 SQL 문을 실행하고 영향 받는 행의 수를 반환합니다.

네임스페이스:  System.Data.SqlServerCe
어셈블리:  System.Data.SqlServerCe(System.Data.SqlServerCe.dll)

구문

‘선언
Public Overrides Function ExecuteNonQuery As Integer
‘사용 방법
Dim instance As SqlCeCommand
Dim returnValue As Integer

returnValue = instance.ExecuteNonQuery()
public override int ExecuteNonQuery()
public:
virtual int ExecuteNonQuery() override
abstract ExecuteNonQuery : unit -> int 
override ExecuteNonQuery : unit -> int 
public override function ExecuteNonQuery() : int

반환 값

유형: System.Int32
영향 받는 행의 수입니다.

구현

IDbCommand.ExecuteNonQuery()

예외

예외 조건
InvalidOperationException

연결이 없는 경우

-또는-

연결이 열려 있지 않은 경우

-또는-

연결이 원래 참여한 컨텍스트와 다른 트랜잭션 컨텍스트 내에서 명령을 실행할 수 없는 경우

주의

ExecuteNonQuery를 사용하여 카탈로그 작업을 수행할 수 있습니다. 예를 들면, 데이터베이스의 구조를 쿼리하거나 테이블 같은 데이터베이스 개체를 만들 수 있습니다. 또한 ExecuteNonQuery를 사용하여 DataSet를 사용하지 않고 UPDATE, INSERT 또는 DELETE 문을 실행함으로써 데이터베이스에서 데이터를 변경할 수도 있습니다.

중요

ExecuteNonQuery에서는 커서를 사용하지 않으므로 데이터베이스를 잠그지 않습니다. 잠금이 필요한 명령을 실행하려면 ExecuteNonQuery를 사용하지 않고, 대신 ExecuteReader를 사용합니다.

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

CREATE TABLE 또는 ALTER TABLE 같은 DDL 문의 경우에는 반환 값이 0입니다.

참고

이 동작은 System.Data.SqlClient의 동작과 다릅니다.

다음 예제에서는 SqlCeCommand를 만든 후 ExecuteNonQuery를 사용하여 실행합니다. 이 예제에서는 UPDATE, INSERT 또는 DELETE와 같은 SQL 문인 문자열과 데이터 원본에 연결하는 데 사용할 문자열이 전달됩니다.

conn.Open()
Dim cmd As New SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn)
cmd.ExecuteNonQuery()
conn.Close()
conn.Open();
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn);
cmd.ExecuteNonQuery();
conn.Close();

참고 항목

참조

SqlCeCommand 클래스

System.Data.SqlServerCe 네임스페이스