728x90

 

ExecuteNonQuery ();

public override int ExecuteNonQuery ();

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

 


ExecuteDataset( );

public static DataSet ExecuteDataset( );

SQL 문을 실행한 이후 데이터 값을  DataSet 에 담는 메서드 이다.
DataSet을 table에 담아 List 컬렉션을 사용해 반환하는 방법으로 사용할 수 있다. 다수 행 데이터일 때 유용하다.

 

 

 


ExecuteScalar ();
public override object ExecuteScalar ();

SQL 쿼리 실행 후 첫번째 행의 첫번째 열의 값을 반환한다. 주로 단일값을 가져오는 경우 사용된다.
반환값이 object 이기 때문에 자신이 활용할 값으로 캐스팅하여 사용하면 편리하다

 

 

 

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

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

 

실무에서는 sqlconnection sqlclient를 이용해 store procedure를 가져온 후

해당 데이터를 메서드를 사용하여 저장하고 List collection에 dictionary 형태로 저장하는 등의 방법으로 사용하였다

마이크로 소프트에  sqlconnection sqlclient 사용법이 잘 나와있어 정리하면 좋을 것 같다

 

https://learn.microsoft.com/ko-kr/dotnet/api/system.data.sqlclient.sqlconnection?view=dotnet-plat-ext-7.0&source=recommendations 

 

SqlConnection 클래스 (System.Data.SqlClient)

SQL Server 데이터베이스에 대한 연결을 나타냅니다. 이 클래스는 상속될 수 없습니다.

learn.microsoft.com

 

728x90

'C# asp.net' 카테고리의 다른 글

ASP.NET 웹 폼 특징  (1) 2024.01.03
C# JsonResult, ActionResult  (0) 2023.06.26
C# Newtonsoft.Json, JObject  (0) 2023.06.26
C# namespace, using 사용법  (0) 2023.06.19
C# : Database 연동(SqlClient 사용)  (0) 2022.04.21

+ Recent posts