7. SqlDataReader.Read 메서드
.NET프로그래밍/ADO.NET 2009. 9. 24. 13:37 |
==> [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 />
정렬순서 :
<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 |