==> [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"이다.)





Posted by holland14
: