View

 

 


C# 이용시 DB연결과 관련된 메소드를 쓸 때 헷갈리지 않기 위해 ExecuteScalar() / ExecuteReader() / ExecuteNonQuery() 를 정리해보기로 한다. 


 

1. public override int ExecuteNonQuery ();

 SQL문을 실행한 후 어떤 결과값이 돌아오지 않을 때 사용하는 메서드이다. 즉 , 데이터베이스에 데이터값을 넣거나, 데이터를 바꾸고 싶을 때 사용한다. 그래서 UPDATE , DELETE , INSERT 등을 이용할 때 사용된다. 리턴값은 정수형식(INT32)로 반환되며 그 값은 SQL문을 실행했을 때 영향을 받은 행들의 수이다. 그 이외에는 -1 이 반환된다. 반환값은 선택적으로 활용하면 된다.

 

2. public System.Data.SqlClient.SqlDataReader ExecuteReader ();

 어떤 SQL 쿼리에서도 적용이 가능하다. SELECT , UPDATE , DELETE , INSERT 모두 가능한다. 주로 결과값을 받고 싶은 경우에 사용한다. SELECT 쿼리를 이용할 경우 해당하는 값들이 DataReader 타입으로 온다. 값을 가져온 후에는 SqlDataReader객체의 read메서드를 통해 값을 읽어올 수 있고 , 사용 후에는 close메서드를 이용하여 실행을 끝내주어야 한다.

 

3. public override object ExecuteScalar ();

 SQL 쿼리 실행 후 첫번째 행의 첫번째 열의 값을 반환한다. 주로 단일값을 가져오는 경우 사용된다.

[ex] SELECT COUNT(*) FROM TBL_USER WEHRE USER_NAME ='김코딩'; 나같은 경우 이와같이 해당하는 사용자의 이름에 맞는 데이터의 수를 가져올때 유용하게 사용할 수 있었다

반환값이 object 이기 때문에 자신이 활용할 값으로 캐스팅하여 사용하면 편리하다

 

 

 

Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31