Programming/.NET
Command 객체는 Connection 객체를 통해 연결된 DB 데이터를 다루기 위해 쿼리 또는 저장프로시저등과 같은 명령를 실행하는데 사용됩니다. 예를 들어 특정 데이터를 얻기 위한 Select 등의 쿼리는 그 결과로 DataSet 이나 DataReader 객체등의 형식과 같은 결과집합을 얻게 합니다.

Command 객체에서 주로 사용되는 속성은 다음과 같습니다.

 CommandText  일반적인 쿼리나 저장프로시저호출등의 실질적인 쿼리구문을 설정합니다.
 CommandTimeout  CommandText 에 설정된 쿼리를 실행하는데 필요한 대기시간(초)을 설정합니다. 해당 시간동안 DB서버로 부터 응답을 얻지 못하면 명령실행은 중지되며 예외를 발생시키게 됩니다. 기본값은 30초입니다.
 CommandType  CommandText 에 설정된 쿼리의 유형을 나타내거나 설정합니다.
 Connection  해당 Command 객체에 사용되는 Connection 객체를 설정합니다.

Command 객체는 실행하는 쿼리의 특성에 따라 여러 처리방법을 가지고 있으며 다음과 같은 값을 설정할 수 있습니다.

 ExecuteNonQuery  지정된 쿼리를 실행하며 해당 쿼리로 인해 영향을 받은 Row 수를 반환합니다.
 ExecuteReader  지정된 쿼리를 실행하고 그 결과로 ExecuteReader 클래스의 인스턴스를 반환합니다. 주로 Select 쿼리의 결과로 반환되는 데이터집합을 담고 있습니다.
 ExecuteRow  지정된 쿼리를 실행하고 그 결과로 SqlRecord 클래스의 인스턴스를 반환합니다. 쿼리 결과로 나오는 결과집합중 가장 첫행의 Row 값만 받을 경우 사용됩니다.
 ExecuteScalar  지정된 쿼리를 실행하고 그 결과로 Object 클래스의 인스턴스를 반환합니다. 처리결과가 Table 이나 Row 형태가 아닌 특정값 하나를 반환받을 경우 사용됩니다. 좀더 정확히는 첫 Row 의 첫 Column 의 값을 반환하는 것으로 하나 이상의 Column 이나 Row가 있다 하더라도 모두 무시됩니다.
 ExecuteXmlReader  지정된 쿼리를 실행하고 그 결과로 XmlReader 클래스의 인스턴스를 반환합니다. 주로 XML 형식의 결과를 받는데 사용됩니다.

string strCmd = "Update [Person].[PersonPhone] Set PhoneNumber = '000-000-0000' Where BusinessEntityID = 20777;";
 
SqlConnection conn = new SqlConnection(@"Data Source=localhost;Initial Catalog=AdventureWorks2012;User ID=sa;Password=123");
SqlCommand cmd = new SqlCommand(strCmd, conn);
conn.Open();
 
int updateRow = cmd.ExecuteNonQuery();
conn.Close();
▶ 예제

'Programming > .NET' 카테고리의 다른 글

[ASP.NET] XML - 2  (0) 2016.01.26
[ASP.NET] XML - 1  (0) 2016.01.18
[ASP.NET] Command Object  (0) 2016.01.13
[ASP.NET] DLL 교체 시 웹서비스 지연현상  (0) 2015.08.07
[ASP.NET] SqlConnection  (0) 2015.05.18
[ASP.NET] IAsyncResult 인터페이스  (0) 2015.04.20
0 0