lecture Home > ASP.NET > CassattÀÇ VS.NET °Ô½ÃÆÇ

CassattÀÇ VS.NET °Ô½ÃÆÇ ¸¸µé±â

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2002³â 09¿ù 22ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2002³â 10¿ù 15ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Cassatt(±è ¿¬Áø)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : 6. ±Û¼öÁ¤ - Write.aspx ÀçÆíÁý

6. ±Û¼öÁ¤ - Write.aspx ÀçÆíÁý

Write.aspx Àç ÆíÁý

±ÛÀ» ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇÏ·Á¸é ±Û ¼öÁ¤ ÆäÀÌÁö°¡ ÀÖ¾î¾ß °Ú´Âµ¥¿ä, ¾îÂ÷ÇÇ UI °¡ ±Û¾²±â ÆäÀÌÁö¿Í °ÅÀÇ °°¾Æ¼­ ù °­Á¿¡¼­ ¸¸µç Write.aspx ¸¦ ¾à°£ ¼öÁ¤Çؼ­ ±Û ¼öÁ¤ ±â´ÉÀ» ³ÖÀ¸·Á ÇÕ´Ï´Ù.

¾Õ¼± ±Û º¸±â ÆäÀÌÁö °­Á¿¡¼­, ±Û º¸±â ÆäÀÌÁö¿¡¼­ ¼öÁ¤ ¸µÅ©°¡ ´ÙÀ½Ã³·³ µÇµµ·Ï Çß¾ú½À´Ï´Ù.

Write.aspx?m=1&n=±Û¹øÈ£
±Û¾²±â ÆäÀÌÁö¸¦, m À̶ó´Â ÆÄ¶ó¸ÞÅÍ¿¡ 1À» ÁÖ°í, n ¿¡´Â ±Û¹øÈ£¸¦ ÁÖ¾î È£ÃâÇϵµ·Ï Çß¾úÁÒ. ±×·³ ±Û ¾²±â ÆäÀÌÁö¿¡¼± m À̶ó´Â ÆÄ¶ó¸ÞÅÍ °ªÀÌ 1ÀÎÁö È®ÀÎÇØ¼­, 1À̶ó¸é ±Û ¼öÁ¤ÀÌ´Ï ±Û ¼öÁ¤Çϱâ 󸮸¦ Çϰí, ¾Æ´Ï¶ó¸é ±×³É ÀÏ¹Ý ±Û¾²±â·Î ½ÇÇàµÇµµ·Ï ÇÏ¸é µÇ°Ú½À´Ï´Ù.

Write.aspx ¸¦ ¿­°í, ºñ¹Ð¹øÈ£ TextBox ¹Ù·Î ¿·¿¡ µµ±¸»óÀÚ Web Forms ¶õÀÇ LabelÀ» Çϳª Ãß°¡ÇÕ´Ï´Ù. Ãß°¡ÇϽÅÈÄ ¼Ó¼º¶õ¿¡¼­ (ID)¸¦ lblPwdMessage ·Î ÇϽðí, Text¶õ ³»¿ëÀ» Áö¿ó´Ï´Ù.

±×¸²¿¡¼­ È­»ìÇ¥·Î Ç¥½ÃÇÑ ºÎºÐÀÔ´Ï´Ù. ±× ¶óº§Àº, ÀÏ¹Ý ±Û¾²±âÀ϶§´Â ¾È³ªÅ¸³ª´Ù°¡, ±Û ¼öÁ¤À϶§´Â '* ±ÛÀ» ¾µ¶§ ÀÔ·ÂÇß´ø ºñ¹Ð¹øÈ£ ÀÔ·Â' À̶ó Ç¥½ÃÇØÁÖ·Á°í ÇÕ´Ï´Ù. ±×¸®°í ±Û ¼öÁ¤½Ã ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é '* ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù' ¶ó°í »¡°£»ö ±Û¾¾·Î Ç¥½ÃÇØÁÖ·Á ÇÕ´Ï´Ù.


DB °ü·Ã °³Ã¼ Ãß°¡

´ÙÀ½Àº DB ¸í·É°´Ã¼¸¦ Ãß°¡ÇÒ Â÷·ÊÀÔ´Ï´Ù. ±Û ¼öÁ¤À» ±¸ÇöÇÏ·Á¸é, óÀ½ ·ÎµåÇÒ¶§´Â ÄÁÆ®·Ñ¿¡ ¿ø·¡ÀÇ ±ÛÀÌ ÀԷµǾî¾ß °ÚÁÒ ? ±×¸®°í »ç¿ëÀÚ°¡ ±ÛÀ» º¯°æÇϰí, ¹öưÀ» ´­·¶À»¶§´Â ½ÇÁ¦·Î Å×À̺íÀÇ ·¹Äڵ带 º¯°æÇØ¾ß °Ú°í¿ä. ±× µÎ ÀÛ¾÷À» À§ÇÑ ¸í·É°´Ã¼¸¦ Ãß°¡ÇսôÙ. µµ±¸»óÀÚ, µ¥ÀÌÅͶõ¿¡¼­ SqlCommand µÎ°³¸¦ ÆäÀÌÁö¿¡ Ãß°¡ÇÕ´Ï´Ù.

ù¹øÂ° SqlCommand´Â óÀ½ ·ÎµåÇÒ¶§, ¿ø·¡ÀÇ ±ÛÀÇ ³»¿ëÀ» °¡Á®¿À±â À§ÇÑ °ÍÀÔ´Ï´Ù. ´ÙÀ½Ã³·³ ¼³Á¤ÇÕ´Ï´Ù.

  • (Name) : dbCommandGetArticleForModify
  • Connection : dbConnection
  • CommandText :
    select writer, email, title, content, mode 
    from cstVSBoard 
    where seq = @seq
  • Parameters : Çϳª Ãß°¡
    ParameterName :@seq
    SqlDbType : int

µÎ¹øÂ° SqlCommand´Â, ³»¿ëÀ» ÀÔ·ÂÇÑ ÈÄ¿¡ ±× ³»¿ë´ë·Î Å×À̺íÀÇ ·¹Äڵ带 º¯°æÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù. ´ÙÀ½Ã³·³ ¼³Á¤ÇÕ´Ï´Ù.

  • (Name) : dbCommandModifyArticle
  • Connection : dbConnection
  • CommandText :
    update cstVSBoard set
      writer = @writer, 
      email = @email, 
      title = @title, 
      content = @content, 
      mode = @mode 
    where seq = @seq and pwd = @pwd
  • Parameters : 7°³ Ãß°¡
    ParameterName SqlDbType Size
    @writer VarChar 10
    @email VarChar 50
    @title VarChar 100
    @content Text (ÀԷ¾ÈÇÔ)
    @mode TinyInt (ÀԷ¾ÈÇÔ)
    @seq Int (ÀԷ¾ÈÇÔ)
    @pwd VarChar 20

¼Ò½º ÆíÁý

±×¸®°í ÄÚµå º¸±â·Î ÀüÈ¯ÇØ¼­, Ŭ·¡½º¿¡ intÇüÀÇ seq, writeMode ¶ó´Â ÇÊµå µÎ°³, GetParameters() ¶ó´Â ¸Þ¼­µå¸¦ Çϳª Ãß°¡Çϰí, Page_Load À̺¥Æ® ºÎºÐ°ú, btnSubmit_Click ºÎºÐÀ» ±³Ã¼ÇÕ´Ï´Ù. ´ÙÀ½ ¼Ò½º ÆÄ¶õ»ö ºÎºÐÀÔ´Ï´Ù.

...(»ý·«)...

int seq;
int writeMode;

private void GetParameters()
{
  seq=0;
  try 
  {
    seq=int.Parse(Request.QueryString["n"]);
    writeMode=int.Parse(Request.QueryString["m"]);
  }
  catch(Exception) 
  {
    seq=0;
    writeMode=0;
  }
  if(writeMode<0||writeMode>1||seq<1)
    writeMode=0;
}

private void Page_Load(object sender, System.EventArgs e)
{
  if(!IsPostBack) 
  {
    GetParameters();
    if(writeMode==1)
    {
      // ±Û ¼öÁ¤
      dbConnection.Open();
      dbCommandGetArticleForModify.Parameters["@seq"].Value=seq;
      System.Data.SqlClient.SqlDataReader dr = 
        dbCommandGetArticleForModify
          .ExecuteReader( CommandBehavior.SingleRow ); 
      if(dr.Read()) 
      {
        txtWriter.Text=(string)dr["writer"];
        txtEmail.Text=(string)dr["email"];
        txtTitle.Text=(string)dr["title"];
        txtContent.Text=(string)dr["content"];
        rdoMode.SelectedIndex=(byte)dr["mode"];
      }
      dr.Close();
      lblPwdMessage.Text="* ±ÛÀ» ¾µ¶§ ÀÔ·ÂÇß´ø ºñ¹Ð¹øÈ£ ÀÔ·Â";
      btnSubmit.Text="±Û¼öÁ¤";
    }
  }
}

...(»ý·«)...

private void btnSubmit_Click(object sender, System.EventArgs e)
{
  if(IsValid) 
  {
    GetParameters();
    if(writeMode==1) 
    {
      dbCommandModifyArticle.Parameters["@writer"].Value = txtWriter.Text;
      dbCommandModifyArticle.Parameters["@pwd"].Value = txtPassword.Text;
      dbCommandModifyArticle.Parameters["@email"].Value = txtEmail.Text;
      dbCommandModifyArticle.Parameters["@title"].Value = txtTitle.Text;
      dbCommandModifyArticle.Parameters["@content"].Value = txtContent.Text;
      dbCommandModifyArticle.Parameters["@mode"].Value = 
        rdoMode.SelectedIndex;
      dbCommandModifyArticle.Parameters["@seq"].Value = seq;

      dbConnection.Open();
      int rowAffected=dbCommandModifyArticle.ExecuteNonQuery();
      dbConnection.Close();
      if(rowAffected>0) 
      {
        Response.Redirect("List.aspx");
      }
      else 
      {
        lblPwdMessage.Text="<font color=red>* ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù";
      }
    }
    else 
    {
      dbCommandAddArticle.Parameters["@writer"].Value = txtWriter.Text;
      dbCommandAddArticle.Parameters["@pwd"].Value = txtPassword.Text;
      dbCommandAddArticle.Parameters["@email"].Value = txtEmail.Text;
      dbCommandAddArticle.Parameters["@title"].Value = txtTitle.Text;
      dbCommandAddArticle.Parameters["@content"].Value = txtContent.Text;
      dbCommandAddArticle.Parameters["@mode"].Value = rdoMode.SelectedIndex;

      dbConnection.Open();
      dbCommandAddArticle.ExecuteNonQuery();
      dbConnection.Close();
      Response.Redirect("list.aspx");
    }
  }
}

±Û ¼öÁ¤ÀÏ ¶§´Â ¿ø·¡ ÀÔ·ÂÇß´ø ³»¿ëÀ» ÅØ½ºÆ®¹Ú½º¿¡ º¸¿©ÁÙ Çʿ䰡 ÀÖ½À´Ï´Ù. Page_Load À̺¥Æ® ºÎºÐ¿¡ ³Ö¾îµÎ¾ú´Âµ¥¿ä, ±Û ¼öÁ¤ÀÎ °æ¿ì( Áï, Request.QueryString["m"]==1 À϶§ ), ¾Õ¼­ Á¤ÀÇÇÑ dbCommandGetArticleForModify °³Ã¼¸¦ ÀÌ¿ëÇØ¼­ ÇØ´ç ±ÛÀÇ ³»¿ëÀ» °¡Á®¿Í¼­, ÄÁÆ®·Ñ¿¡ ÀÔ·ÂÇÕ´Ï´Ù. ¼öÁ¤ ¸ðµåÀ̹ǷΠ¾Õ¼­ Ãß°¡ÇÑ ¶óº§¿¡µµ ¿ø·¡ÀÇ ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇ϶ó´Â ¸Þ½ÃÁö¸¦ ³ª¿À°Ô Çϰí, ±Û¾²±â ¹öưµµ '±Û¼öÁ¤'À¸·Î ¹Ù²Ù¾î ÁÖ¾ú½À´Ï´Ù.

¹öưÀ» Ŭ¸¯ÇßÀ»¶§´Â( btnSubmit_Click ¸Þ¼­µå ), ¼öÁ¤¸ðµåÀ϶§´Â dbCommandModifyArticle À» ÀÌ¿ëÇØ¼­ ±ÛÀ» ¼öÁ¤ÇÕ´Ï´Ù. ¸¸¾à ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÑ´Ù¸é, ¾ÕÀÇ Delete.aspx °­Á¿¡ ¼³¸íÇß´ø °Íó·³, ExecuteNonQuery() ¸Þ¼­µå°¡ 0 ÀÌ»óÀÎ °ªÀ» ¸®ÅÏÇÒ °ÍÀÔ´Ï´Ù. ±×¿¡ µû¶ó, ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê¾Ò´Ù¸é ¿¡·¯¸Þ½ÃÁö¸¦ º¸¿©ÁÖ°í, ¾Æ´Ï¶ó¸é ¸ñ·Ï ÆäÀÌÁö·Î À̵¿ÇÕ´Ï´Ù.
ÀÏ¹Ý ±Û¾²±â ºÎºÐÀº ¿ø·¡ÀÇ ¼Ò½º¿Í °°½À´Ï´Ù.

ÀÌÁ¦ ±Û ¼öÁ¤ÇÏ´Â ºÎºÐµµ ¿Ï¼ºµÇ¾ú½À´Ï´Ù. ºñ¹Ð¹øÈ£¸¦ ¾Æ¹«·¸°Ô³ª ÀÔ·ÂÇϸ鼭 Å×½ºÆ®Çغ¸¼¼¿ä. ´ÙÀ½ °­Á¿¡¼± ¸ñ·Ï ºÎºÐ¿¡, ÀÌÀü/´ÙÀ½ ÆäÀÌÁö ´ë½Å ÆäÀÌÁö ¹øÈ£·Î Á÷Á¢ À̵¿ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ³Ö¾î º¸°Ú½À´Ï´Ù.

 

Back