Programming/.NET
SqlDataAdapter 는 비연결형의 DataTable 객체와 물리적인 데이터소스간에 이질적인 부분을 해결하기 위한 클래스로서 이를 위해 SELECT 쿼리를 실행하고 데이터소스로부터 결과집합을 DataTable 객체로 복사하거나 INSERT, UPDATE, DELETE 구문을 실행하고 입력데이터를 DataTable 객체에서 추출하는 양방향통신을 수행합니다.

SqlDataAdapter 클래스가 제공하는 주요속성에는 다음과 같은 것들이 있습니다.

 SelectCommand  SqlCommand 형의 값을 읽고쓰는 속성으로서 결과집합에서 DataTable 을 채우기 위해 수행되는 명령을 설정합니다.
 InsertCommand  SqlCommand 형의 값을 읽고쓰는 속성으로서 데이터소스서버에 새로운 데이터를 저장하기 위해 수행되는 명령을 설정합니다.
 DeleteCommand  SqlCommand 형의 값을 읽고쓰는 속성으로서 데이터소스서버에서 특정 데이터를 삭제하기 위한 명령을 설정합니다.
 UpdateCommand  SqlCommand 형의 값을 읽고쓰는 속성으로서 데이터소스서버에서 이미존재하는 데이터를 변경하기 위한 명령을 설정합니다.

참고로 SqlDataAdapter 클래스는 Fill 메소드를 제공하는데 이 메소드는 SelectCommand 속성에 설정된 SQL 구문을 실행하여 결과집합을 수신받고 이것을 DataTable 객체로 복사하는 동작을 자동적으로 수행합니다.
SqlConnection MyConnection = new SqlConnection();
 
MyConnection.ConnectionString = ConfigurationManager.ConnectionStrings["new_connection"].ConnectionString;
            
SqlCommand MyCommand = new SqlCommand();
MyCommand.CommandText = "Select Top 100 * From [Person].[PersonPhone];";
MyCommand.CommandType = CommandType.Text;
MyCommand.Connection = MyConnection;
 
SqlDataAdapter MyAdapter = new SqlDataAdapter();
MyAdapter.SelectCommand = MyCommand;
            
DataTable MyTable = new DataTable();
MyAdapter.Fill(MyTable);
GridView.DataSource = MyTable.DefaultView;
GridView.DataBind();
 
MyCommand.Connection.Open();
 
MyAdapter.Dispose();
MyCommand.Dispose();
MyConnection.Dispose();
위 코드에서는 MyAdapter 클래스의 SelectCommand 속성에 SELECT 구문이 저장된 MyCommand 객체를 지정하고 Fill 메소드를 호출하여 MyTable 이라는 이름의 DataTable 에 결과집합을 저장하는 방법을 보여주고 있습니다. 이렇게 채워진 데이터는 GridView 컨트롤의 DataSource 로 지정하고 화면이 표시하도록 합니다.

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

[ASP.NET] ADO.NET 의 비동기 처리  (0) 2016.07.05
[C#] FtpWebRequest / FtpWebResponse  (0) 2016.06.29
[ASP.NET] SqlDataAdapter  (0) 2016.06.14
[C#] FileInfo  (1) 2016.06.09
[ASP.NET] LoginView  (0) 2016.06.01
[ASP.NET] EntityDataSource  (0) 2016.05.24
0 0