즉, DB에 있는 한두개의 테이블을 읽어서 DataSet 개체에 보관해 놓으면, 마치 물리적인 DB를 메모리에 두고,
이를 사용해서 손쉽게 DB 입출력 기능을 구현할 수 있는 막강한 클래스
테이블 정보를 그대로 컴퓨터 메모리 상으로 가져옴
한 개 이상의 테이블을 담아 둘 수 있는 큰 그릇
제네릭 클래스는 테이블 하나만 담을 수 있는 반면,
데이터셋은 테이블 여러개 담을 수 있다.
무겁지만 활용도 높고 사용이 편리
FrmDataSet.aspx |
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">
<title></title> </head> <body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="ctlCategoryList" runat="server">
</asp:GridView>
</div>
</form> </body> </html> |
FrmDataSet.aspx.cs |
protected void Page_Load(object
sender, EventArgs
e) {
if (!Page.IsPostBack) // 처음 로드시에만 데이터 읽어서 바인딩
{
DisplayData();
} } private void DisplayData() {
using (SqlConnection con = new SqlConnection(
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
con.Open();
SqlCommand cmd = new SqlCommand("Select * From Categories",
con);
//[1] SqlDataAdapter 클래스의 인스턴스 생성
SqlDataAdapter
da = new SqlDataAdapter();
da.SelectCommand = cmd;
//[2] DataSet 클래스의 인스턴스
DataSet ds = new DataSet();
//[3] da.Fill() 메서드로 데이터셋 채우기
da.Fill(ds, "Categories");
//[4] GridView에 바인딩
ctlCategoryList.DataSource = ds;
ctlCategoryList.DataBind();
} } |
결과화면 |
[그림15-1] |
'ASP.NET' 카테고리의 다른 글
17.ADO.NET - DataView (0) | 2009.09.28 |
---|---|
16.ADO.NET - DataTable (0) | 2009.09.28 |
14.ADO.NET - Transaction (0) | 2009.09.28 |
13.ADO.NET - DbProviderFactory (0) | 2009.09.25 |
12.ADO.NET - Parameters (0) | 2009.09.25 |
Comments