컴퓨터활용/ASP.NET

ASP.NET INSERT 간단 샘플

멜번초이 2015. 4. 30. 15:33
반응형

테스트할 화면을 그린다. TextBox 를 두개만 우선 작성한다. WingtipToys 의 products테이블은 ID 가 자동 증가되되록 되어 있어서 SQL 에서는 값을 세팅하면 오류가 난다.  그래서 not null 필드인 productName과 description 필드만 값을 세트해 보기로 한다. 


[Insert1.aspx]

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Insert1.aspx.cs" Inherits="WingtipToys.Insert1" %>

 

<!DOCTYPE html>

 

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

<head runat="server">

    <title></title>

</head>

<body>

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

    <div>  Insert Example</div>  <br />

        Enter product information to be added.  <br /> 

            Product Name : <asp:TextBox ID="TextBox2" runat="server" Width="162px"></asp:TextBox>  <br />

            Discription : <asp:TextBox ID="TextBox3" runat="server" Width="408px"></asp:TextBox>   <br />

          <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Save" Width="42px" />  <br />

 

        <asp:Label ID="Label1" runat="server"></asp:Label>

    </form>

</body>

</html>

 


버튼을 클릭했을 때 수행될 스크립트도 Button1_Click() 에 작성을 한다.  Save 를 눌렀을 때 정상적으로 수행이 완료되면 ProductName Saved! 라는 메세지가 화면 아랫쪽에 출력될 것이다. 


[Insert1.aspx.cs] 

using System;

using System.Configuration;

using System.Data.SqlClient;

 

namespace WingtipToys

{

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

    {

        protected void Page_Load(object sender, EventArgs e)

        {

 

        }

 

        protected void Button1_Click(object sender, EventArgs e)

        {

            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["WingtipToys"].ConnectionString);

            string query = "insert into products(productname, description) values ( '" + TextBox2.Text + "','" + TextBox3.Text + "')";

            conn.Open();

            SqlCommand cmd = new SqlCommand(query, conn);

 

            cmd.ExecuteNonQuery();

 

            conn.Close();

 

            Label1.Text = TextBox2.Text + " Saved!";

        }

    }

}


[실행결과]



데이타 값을  binding 하는 다른  방법이 있다. 마치 java 에서의 PreparedStatement 와 비슷한 사용법이다. 


using System;

using System.Configuration;

using System.Data.SqlClient;

 

namespace WingtipToys

{

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

    {

        protected void Page_Load(object sender, EventArgs e)

        {

 

        }

 

        protected void Button1_Click(object sender, EventArgs e)

        {

            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["WingtipToys"].ConnectionString);

            string query = "INSERT INTO PRODUCTS(productName, description) VALUES (@productName, @description)";

           

            SqlCommand cmd = new SqlCommand(query, conn);

 

            cmd.Parameters.AddWithValue("@productName", TextBox2.Text );

            cmd.Parameters.AddWithValue("@description", TextBox3.Text );

 

            conn.Open();

            cmd.ExecuteNonQuery();

 

            conn.Close();

 

            Label1.Text = TextBox2.Text + " Saved!";

        }

    }

}


이제 로컬 DB 를 조회해 보면 데이타가 저장된 것을 확인할 수 있다. 




ASP.NET 도 이것저것 익혀서 익숙해지려면 많은 시간이 들어가야 할 것 같은 불김함이 엄습해 온다. 

새로운 개발툴, 환경, 에러에 바로바로 대응하려면 익숙해지는 시간이 필요한 것은 마찬가지겠다. 

반응형

'컴퓨터활용 > ASP.NET' 카테고리의 다른 글

ASP.NET 시작  (0) 2015.04.21