44. [ADO.NET] SqlDataAdapter 클래스

SqlDataAdapter는 SQL 데이터 소스와 DataSet 간의 연결에 사용합니다. Fill 메서드를 이용하여 데이터 소스의 데이터를 얻어와 DataSet을 채우고 Update 메서드를 이용하여 DataSet의 데이터로 데이터 소스의 데이터를 일치시키게 합니다.

SqlDataDataper에 검색, 추가, 변경, 삭제에 사용할 SqlCommand를 초기에 설정한 후에 데이터 소스의 데이터를 Fill 메서드를 이용해 DataSet을 채우고 이 후에 작업은 DataSet으로 데이터를 관리하다가 데이터 소스를 변경할 필요가 있을 때 Update 메서드를 이용하여 데이터 소스에 반영시키는 것이 일반적인 사용입니다.

▷클래스 상속 계층

System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DataAdapter
System.Data.Common.DbDataAdapter
System.Data.SqlClient.SqlDataAdapter

다음은 SqlDataAdapter 클래스에서 제공하는 생성자입니다.

SqlDataAdapter 개체는 Fill 메서드를 이용하여 SelectCommand로 탐색 결과를 DataSet 개체의 데이터를 채워줍니다. 이는 데이터 소스인 SQL 서버의 테이블의 데이터로부터 메모리 상의 DataSet 개체의 테이블 데이터를 채워주는 역할을 합니다.

다음은 SqlDataAdapter 개체를 생성하여 Books 테이블과 Publishers 테이블의 내용을 DataSet 개체에 반영하는 예제 코드입니다.

실행 결과

프로그램 상의 DataSet의 내용을 데이터 소스인 SQL 서버에 반영할 때는 Update 메서드를 사용합니다.

 

Update 메서드를 사용하려면 SqlDataAdapter개체의 InsertCommand, DeleteCommand, UpdateCommand 속성에 적절한 SqlCommand 개체를 설정해야 합니다.

 

다음은 SqlDataAdapter 개체를 생성하여 Books 테이블과 Publishers 테이블의 내용을 DataSet 개체에 반영한 후에 Books 테이블의 모든 책의 가격 정보를 0으로 변경하고 이를 다시 SQL 서버의 Books 테이블에 반영하는 예제 코드입니다.

실행 결과

이상으로 ADO.NET 기술 소개를 마칠게요. 여러분께서는 보다 깊은 학습과 사용으로 숙련하세요.