23. SqlParameter 클래스
.NET프로그래밍/ADO.NET 2009. 9. 29. 14:24 |==> [FrmSqlParameter.aspx] 소스 및 디자인
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmSqlParameter.aspx.cs" Inherits="FrmSqlParameter" %>
<!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="txtCategoryName" runat="server"></asp:TextBox>
<asp:Button ID="btnAdd" runat="server" Text="추가" onclick="btnAdd_Click" />
<br />
<br />
<asp:GridView ID="ctlCategoryList" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
-------------------------------------------------------------------------------------
==> [FrmSqlParameter.aspx.cs]
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class FrmSqlParameter : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DisplayData();
}
}
private void DisplayData()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand("Select * From Categories", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "Categories");
this.ctlCategoryList.DataSource = ds.Tables[0];
this.ctlCategoryList.DataBind();
con.Close();
}
protected void btnAdd_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "Insert Into Categories(CategoryName) Values(@CategoryName)";
cmd.CommandType = CommandType.Text;
// 파라미터 추가하는 첫번째 방법
//cmd.Parameters.AddWithValue("@CategoryName", txtCategoryName.Text);
// 파라미터 추가하는 두번째 방법
//cmd.Parameters.Add("@CategoryName", SqlDbType.VarChar, 50);
//cmd.Parameters["@CategoryName"].Value = txtCategoryName.Text;
// 파라미터 추가하는 세번째 방법 - SqlParameter 클래스 사용 : SP의 OUTPUT매개변수 처리시 주로 사용
SqlParameter parameterCategoryName =
new SqlParameter("@CategoryName", SqlDbType.VarChar, 50);
parameterCategoryName.Direction = ParameterDirection.Input; // 입력용
parameterCategoryName.Value = txtCategoryName.Text;
cmd.Parameters.Add(parameterCategoryName);
cmd.ExecuteNonQuery();
con.Close();
DisplayData(); // 새로 출력
}
}
// SqlParameter 클래스 - SqlCommand에 대한 매개 변수를 나타내고 DataSet 열에 대한 매개 변수의 매핑을 선택적으로 나타냅니다. 이 클래스는 상속될 수 없습니다.
-------------------------------------------------------------------------------------
[실행결과]
--> 아래그램에서 "SqlParameter클래스"를 사용하여 웹페이지에서 '텍스트박스'에 문자열을 입력하고 '추가'버튼을 누르면(Insert), [SQL Server] - [데이터베이스] - [Market 데이터베이스]의 [dbo.Categories]테이블에 입력했던 "CategoryName"이 테이블의 맨아래 추가되어 웹페이지의 "GridView"에도 출력된다.(아래그림에서는 입력한 "CategoryName"은 "Pro ASP.NET"이다.)
'.NET프로그래밍 > ADO.NET' 카테고리의 다른 글
(교재실습) MakeTable(DataTable / DataColumn / DataRow 연습) (0) | 2009.09.29 |
---|---|
24. DataTable..::.Select 메서드 (0) | 2009.09.29 |
파일처리 기반으로 만든 주소록 프로그램을 DB처리 기반으로 바꾸기. (0) | 2009.09.29 |
22. DataView..::.RowFilter 속성 (0) | 2009.09.28 |
21. DataRow 클래스 (0) | 2009.09.28 |