Blog Content

    티스토리 뷰

    16.ADO.NET - DataTable

    반응형
    메모리에 있는 데이터로 구성된 하나의 테이블

    메모리상의 테이블, 즉 DB의 Table개체와 일대일로 매핑할 수 있는 그릇(클래스)
    Rows와 Columns를 가짐

    Test 데이터 베이스에 테이블을 추가 하고 설계합니다.
    Products 테이블 설계

    [그림16-1]

      값 입력하기

      Insert into Products values('좋은컴퓨터')

      Insert into Products values('좋은책')

      Insert into Products values('좋은소프트웨어')

      Insert into Products values('최고급컴퓨터')

     

      select *from products


    FrmDataTable.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>

            <br />

            상품

            <asp:GridView ID="ctlProductList" runat="server">

            </asp:GridView>

       

        </div>

        </form>

    </body>

    </html>


    FrmDataTable.aspx.cs

    protected void Page_Load(object sender, EventArgs e)

    {

       if (!Page.IsPostBack)

       {

           DisplayData();

       }

    }

    private void DisplayData() {

       //[1] 커넥션

       SqlConnection con = new SqlConnection(

           ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

       con.Open();

       //[2] 커멘드

       SqlCommand cmd = new SqlCommand();

       cmd.Connection = con;

       cmd.CommandText =

           "Select * From Categories;Select ProductID, ModeName From Products;";

       //[3] 데이터어댑터

       SqlDataAdapter da = new SqlDataAdapter();

       da.SelectCommand = cmd; // 명령어를 담고 있는 커멘드 개체 지정

       //[4] 데이터셋 : Database

       DataSet ds = new DataSet(); // 한개 이상의 테이블을 담을 있는 그릇

       //[5] Fill()

       da.Fill(ds, "Test");

       //[6] 데이터테이블 : Table

       DataTable dt1 = ds.Tables[0]; // Categories

       DataTable dt2 = ds.Tables[1]; // Products

       //[7] GridView 바이딩

       this.ctlCategoryList.DataSource = dt1; ctlCategoryList.DataBind();

       this.ctlProductList.DataSource = dt2; ctlProductList.DataBind();

       //[8] 마무리

       con.Close();

    }


    결과화면

    [그림16-2]


    반응형

    'ASP.NET' 카테고리의 다른 글

    18.ADO.NET - DataRow  (0) 2009.09.28
    17.ADO.NET - DataView  (0) 2009.09.28
    15.ADO.NET - DataSet  (0) 2009.09.28
    14.ADO.NET - Transaction  (0) 2009.09.28
    13.ADO.NET - DbProviderFactory  (0) 2009.09.25

    Comments