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
ÀÌ»óÀÎ °ªÀ» ¸®ÅÏÇÒ °ÍÀÔ´Ï´Ù. ±×¿¡ µû¶ó, ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê¾Ò´Ù¸é ¿¡·¯¸Þ½ÃÁö¸¦ º¸¿©ÁÖ°í, ¾Æ´Ï¶ó¸é ¸ñ·Ï ÆäÀÌÁö·Î À̵¿ÇÕ´Ï´Ù.
ÀÏ¹Ý ±Û¾²±â ºÎºÐÀº ¿ø·¡ÀÇ ¼Ò½º¿Í °°½À´Ï´Ù.
ÀÌÁ¦ ±Û ¼öÁ¤ÇÏ´Â ºÎºÐµµ ¿Ï¼ºµÇ¾ú½À´Ï´Ù. ºñ¹Ð¹øÈ£¸¦ ¾Æ¹«·¸°Ô³ª ÀÔ·ÂÇÏ¸é¼ Å×½ºÆ®Çغ¸¼¼¿ä. ´ÙÀ½ °Á¿¡¼± ¸ñ·Ï ºÎºÐ¿¡, ÀÌÀü/´ÙÀ½ ÆäÀÌÁö ´ë½Å
ÆäÀÌÁö ¹øÈ£·Î Á÷Á¢ À̵¿ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» ³Ö¾î º¸°Ú½À´Ï´Ù.
|