SqlCeCommand.ExecuteNonQuery Method
SqlCeConnection에 대해 SQL 문을 실행하고 영향 받는 행의 수를 반환합니다.
네임스페이스: System.Data.SqlServerCe
어셈블리: System.Data.SqlServerCe(system.data.sqlserverce.dll에 있음)
구문
‘선언
Public Overrides Function ExecuteNonQuery As Integer
public override int ExecuteNonQuery ()
public:
virtual int ExecuteNonQuery () override
public int ExecuteNonQuery ()
public override function ExecuteNonQuery () : int
반환 값
영향 받는 행의 수입니다.
예외
예외 유형 | 조건 |
---|---|
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();
스레드 보안
이 유형의 모든 public static(Microsoft Visual Basic의 경우 공유) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전성이 보장되지 않습니다.
플랫폼
개발 플랫폼
Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
버전 정보
.NET Framework 및 NET Compact Framework
3.5에서 지원됨
.NET Framework
3.0에서 지원됨
.NET Compact Framework 및 .Net Framework
2.0에서 지원됨
참고 항목
참조
SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace