Blog Content

    티스토리 뷰

    15.ADO.NET - DataSet

    반응형
    메모리상의 데이터베이스. 데이터 캐시

    즉, 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