Blog Content

    티스토리 뷰

    06.ADO.NET - SqlDataReaderRead

    반응형
    값을 입력하여 결과값을 출력하는 예제입니다.

    Test DB에서 Categories 테이블을 수정합니다.
    Categories Table Update
    1. 해당 테이블을 선택하고 마우스 오른쪽 클릭 - 디자인

    [그림6-1]

    2. 해당 테이블에 값을 입력합니다.

    [그림6-2]

    3. 쿼리문으로 값을 입력

    [그림6-3]

    4. 한 줄씩 블록을 지정하시고 F5 눌러서 실행해주세요

    FrmSqlDataReaderRead.aspx

    <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 />

            <br />

            카테고리명 :

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

            (문자열)<br />

            부모카테고리 :

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

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

            정렬순서 :

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

            (정수형)

        </div>

        </form>

    </body>

    </html>


    FrmSqlDataReaderRead.aspx.cs

    protected void btnSelect_Click(object sender, EventArgs e)

    {

       // 커넥션

       SqlConnection con =

           new SqlConnection(

               "server=WINDOWS-XP\\SQLSERVER;database=Test;uid=Test;pwd=1234;");

       con.Open();

     

       // 커멘드

       SqlCommand cmd = new SqlCommand();

       cmd.Connection = con;

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

           "Select * From Categories Where Num = " + 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.GetInt32(3);

           txtAlign.Text = align.ToString(); // 위와 동일

       }

       // 마무리

       dr.Close();

       con.Close();

    }


    결과확인

    [그림6-4]



    반응형

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

    08.ADO.NET - 데이터베이스 연결 여러번 사용하기  (0) 2009.09.24
    07.ADO.NET - SqlError  (0) 2009.09.24
    05.ADO.NET - SqlDataReader  (0) 2009.09.24
    04.ADO.NET - SqlCommand  (0) 2009.09.24
    03.ADO.NET - SqlException  (0) 2009.09.24

    Comments