==> [FrmSqlDataReaderRead.aspx] 소스 및 디자인

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmSqlDataReaderRead.aspx.cs" Inherits="FrmSqlDataReaderRead" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <asp:TextBox ID="txtCategoryID" runat="server"></asp:TextBox>

        번 카테고리 출력

        <asp:Button ID="btnSelect" runat="server" Text="가져오기"

            onclick="btnSelect_Click" />

        <br />

        카테고리명 :

        <asp:TextBox ID="txtCategoryName" runat="server"></asp:TextBox>

        (문자열)<br />

        부모카테고리 :

        <asp:TextBox ID="txtSuperCategory" runat="server"></asp:TextBox>

        (널가능 또는 정수형)<br />

        정렬순서 :&nbsp;

        <asp:TextBox ID="txtAlign" runat="server"></asp:TextBox>

        (정수형)

    </div>

    </form>

</body>

</html>

 










=====================================================================================


 

==> [FrmSqlDataReaderRead.aspx.cs]


using System;

using System.Data;

using System.Data.SqlClient; //

 

public partial class FrmSqlDataReaderRead : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    // Select : Connection->Command->DataReader

    protected void btnSelect_Click(object sender, EventArgs e)

    {

        // 커넥션

        SqlConnection con =

            new SqlConnection("server=.;database=Market;uid=Market;pwd=6750440;");

        con.Open();

 

        // 커맨드

        SqlCommand cmd = new SqlCommand();

        cmd.Connection = con;

        cmd.CommandText = // 넘겨온 값으로 쿼리문 작성

            "Select * From Categories Where CategoryID = " + txtCategoryID.Text;

        cmd.CommandType = CommandType.Text;

       

        // 데이터리더

        SqlDataReader dr = cmd.ExecuteReader();

 

        //[!] 읽어온 데이터를 Grid와 같은 컨트롤이 아닌 일반 컨트롤에 바인딩

        if (dr.Read()) // 데이터가 읽혀진다면???

        {           

            //txtCategoryName.Text = dr["CategoryName"].ToString(); // 문자열 인덱서를 사용함.           

            string CategoryName = dr.GetString(1); txtCategoryName.Text = CategoryName; // 바로 윗줄 주석처리된 코드와 동일한 코드이다.(정수(서수)를 사용함.)

 

            if (dr["SuperCategory"] != null) // 널값 처리...

            {

                txtSuperCategory.Text = dr["SuperCategory"].ToString();

            }

 

 

            //txtAlign.Text = dr["Align"].ToString(); // 문자열 인덱서를 사용함.

            int align = dr.GetInt16(3); txtAlign.Text = align.ToString(); // 바로 윗줄 주석처리된 코드와 동일한 코드이다.(정수(서수)를 사용함.)

        }

 

        // 마무리

        dr.Close();

 

        con.Close();

    }

}

 

 

 

 

// SqlDataReader.Read 메서드 - SqlDataReader를 다음 레코드로 이동합니다.

 

 

 


=====================================================================================




[실행결과]

--> 아래그림에서 맨위에 있는 '텍스트 박스'에 값(카테고리 범위 내의 정수값을 입력해야 함)을 입력하고 "가져오기"버튼을 클릭하면 아래 '카테고리명/부모카테고리/정렬순서'에 해당하는 각각의 '텍스트박스'에 데이터가 출력된다.









'.NET프로그래밍 > ADO.NET' 카테고리의 다른 글

ADO.NET복습  (0) 2009.09.25
8. SqlError 클래스  (0) 2009.09.24
6. SqlDataReader 클래스  (0) 2009.09.24
5. SqlCommand 클래스  (0) 2009.09.24
4. SqlException 클래스  (0) 2009.09.24
Posted by holland14
: