ASP.NET

09.ADO.NET - ADO.NET ( 입력값 저장 )

Godffs 2009. 9. 25. 09:47
반응형
입력한 값을 데이터베이스에 추가하기

FrmADONET.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="txtCategoryName" runat="server"></asp:TextBox>

        <asp:Button ID="btnAdd" runat="server" Text="카테고리입력" onclick="btnAdd_Click" />

        <asp:GridView ID="ctlCategoryList" runat="server">

        </asp:GridView>

        <asp:Label ID="lblDisplay" runat="server" Text=""></asp:Label>

   

    </div>

    </form>

</body>

</html>


FrmADONET.aspx.cs

protected void Page_Load(object sender, EventArgs e)

{

   //[1] 페이지 처음 로드시 모든 카테고리 리스트 출력

   if (!Page.IsPostBack)

   {

       DisplayData();

   }

}

 

// 출력

private void DisplayData()

{

   SqlConnection con = new SqlConnection(

       "Data Source=WINDOWS-XP\\SQLSERVER;Initial Catalog=Test;User ID=Test;Password=1234;");

   con.Open();

 

   SqlCommand cmd = new SqlCommand("Select * From Categories", con);

   cmd.CommandType = CommandType.Text;

 

   //[!] ExecuteReader() 메서드의 결과값을 DataReader 개체에 담기

   SqlDataReader dr = cmd.ExecuteReader();

 

   // GridView 바인딩

   this.ctlCategoryList.DataSource = dr; // DataReader, DataSet, List<T> 등이 담김

   this.ctlCategoryList.DataBind(); // 그러면, 알아서 모양 만들어 출력

 

   dr.Close(); // 데이터리더도 반드시 Close()해야 ...

 

   con.Close();

}

 

// 입력/수정/삭제

protected void btnAdd_Click(object sender, EventArgs e)

{

   //[0] 변수 선언부

   string strCategoryName = txtCategoryName.Text.Trim();

 

   //[1] 커넥션

   SqlConnection objCon = new SqlConnection();

   objCon.ConnectionString =

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

      

   objCon.Open();

  

   //[2] 커멘드

   SqlCommand objCmd = new SqlCommand();

   objCmd.Connection = objCon; // 오픈될 커넥션 개체 지정

   objCmd.CommandText = String.Format(

       "Insert Categories(CategoryName) Values('{0}')", strCategoryName);//명령어

   objCmd.CommandType = CommandType.Text; // 타입지정

  

   //[3] 실행 : ExecuteNonQuery(), ExecuteReader(), ExecuteScalar(), ExecuteDataSet()

   int rows = objCmd.ExecuteNonQuery();//모든 명령어 실행<->Select 가능->Reader 사용

   this.lblDisplay.Text = rows.ToString() + " 입력되었습니다.";

 

   //[4] 마무리

   objCon.Close(); 

}


결과확인

[그림9-1]



반응형