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 사용법이 잘 나와있어 정리하면 좋을 것 같다
SqlConnection 클래스 (System.Data.SqlClient)
SQL Server 데이터베이스에 대한 연결을 나타냅니다. 이 클래스는 상속될 수 없습니다.
learn.microsoft.com
'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 |