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