¾×Ƽºê½ºÄù¾î¿Í C#À» »ç¿ëÇÑ À¥ °Ô½ÃÆÇ ¸¸µé±â¾×Ƽºê½ºÄù¾îÀÎÅͳÝÀÌ ³Î¸® º¸±ÞµÈ ¿äÁò, À¥ »çÀÌÆ®³ª ¾îÇø®ÄÉÀ̼ǿ¡¼ HTML ¹®¼¸¦ ÀÛ¼ºÇÏ´Â ±â´ÉÀº ´ç¿¬½ÃµÇ°í ÀÖ´Ù. ±×·¯³ª, Á¦´ë·Î µÈ HTML ¿¡µðÅ͸¦ ¸¸µé±â À§Çؼ´Â ¸¹Àº ³ë·Â°ú ½ÃÇà Âø¿À°¡ ÇÊ¿äÇÒ »Ó¸¸ ¾Æ´Ï¶ó º°µµÀÇ °³¹ß ÀηÂÀ» HTML ¿¡µðÅÍ °³¹ß¿¡ ÅõÀÔÇÏ´Â °ÍÀº ¿©°£ ºÎ´ã½º·¯¿î ÀÏÀÌ ¾Æ´Ï´Ù. ³ª¸ð ¾×Ƽºê½ºÄù¾î ´Â ÀÌ·¯ÇÑ °³¹ß ´Ü°è¿¡¼ÀÇ À§Çè ºÎ´ãÀº ÁÙ¿©ÁÖ¸é¼ ÀÌ¹Ì ³ª¸ð À¥¿¡µðÅÍ¿¡¼ °ËÁõµÈ Ź¿ùÇÑ HTML ÆíÁý ±â¼úÀ» ´Ù¾çÇÑ È¯°æ¿¡¼ Àû¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. ³ª¸ð ¾×Ƽºê½ºÄù¾î ÀÇ °¡Àå Å« Ư¡Àº ActiveX ÄÁÆ®·Ñ Çü½ÄÀÇ HTML À§ÁöÀ¨ ¿¡µðÅͶó´Â Á¡. µû¶ó¼, À¥ ¸ÞÀÏ, À¥ °Ô½ÃÆÇÀº ¹°·Ð, ÀÎÆ®¶ó³Ý ±â¹ÝÀÇ KMS/CRM/CMS ¼Ö·ç¼Ç, ³ª¾Æ°¡¼ HTML ÀÛ¼º ±â´ÉÀÌ ÇÊ¿äÇÑ º°µµÀÇ ¾îÇø®ÄÉÀ̼ǰú °°ÀÌ HTML ÀÛ¼ºÀÌ ÇÊ¿äÇÑ ´Ù¾çÇÑ ºÐ¾ß¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð À¥ ±â¹ÝÀÇ °Ô½ÃÆÇÀ̳ª ¸ÞÀÏ ½Ã½ºÅÛÀ» ¼³°èÇÒ °æ¿ì, ASP, PHP, JSP µîÀº ¹°·Ð À̹ø È£¿¡¼ ´Ù·ê C#µî ´Ù¾çÇÑ ¾ð¾î ȯ°æ¿¡¼µµ ¾×Ƽºê½ºÄù¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. À¥ °Ô½ÃÆÇÀÇ ÀüüÀûÀÎ ¼³°èÀϹÝÀûÀÎ À¥ °Ô½ÃÆÇ°ú´Â ´Þ¸® À̹ø È£¿¡ Á¦ÀÛÇÒ À¥ °Ô½ÃÆÇÀº ¾×Ƽºê½ºÄù¾î ¿Í C#ÀÇ Àû¿ëÀ» º¸¿©ÁÖ´Â ¿¹Á¦ÀÇ ¼º°ÝÀÌ °Çϱ⠶§¹®¿¡ ±ÛÀ» ÀÛ¼ºÇÏ°í ÆíÁý/¼öÁ¤/»èÁ¦ÇÏ´Â °£´ÜÇÑ ±â´ÉÀ» °¡Áø´Ù. °³¹ß ȯ°æÀº Windows XP ÇÁ·ÎÆä¼Å³Î°ú MS-SQL ¼¹ö, ±×¸®°í MS Visual Studio .NETÀÌ´Ù. C#À¸·Î Á¦ÀÛÇÑ °Ô½ÃÆÇÀ» ±¸¼ºÇÏ´Â ¼Ò½º °¢°¢ÀÌ ÇÏ´Â ¿ªÇÒ°ú ¾×Ƽºê½ºÄù¾î¸¦ Àû¿ëÇÑ ¼Ò½º´Â ¾Æ·¡¿Í °°´Ù.
À¥ °Ô½ÃÆÇÀÇ ±Û¾²±â ºÎºÐ¾×Ƽºê½ºÄù¾î°¡ Àû¿ëµÈ °Ô½ÃÆÇ¿¡¼ ÀÔ·ÂµÈ µ¥ÀÌÅÍÀÇ Ã³¸® ¹æ¹ýÀº ÀÏ¹Ý °Ô½ÃÆÇÀÇ Ã³¸® ¹æ¹ý°ú À¯»çÇÏ´Ù. ´Ù¸¸ ¾×Ƽºê½ºÄù¾î¿¡¼ ÀÛ¼ºÇÑ ³»¿ëÀ» ÀúÀåÇÏ´Â °úÁ¤¿¡¼ Â÷À̸¦ º¸ÀδÙ.
|
1 |
µ¥ÀÌÅ͸¦ Á÷Á¢ DB(¶Ç´Â ÆÄÀÏ)¿¡ ÀúÀåÇÏ´Â ¹æ¹ý |
2 |
MIME µðÄÚ´õ¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ ÆÄÀϰú º»¹®À¸·Î ºÐ¸®ÇÏ¿© ÀúÀåÇÏ´Â ¹æ¹ý |
°Ô½ÃÆÇÀÇ °æ¿ì ÀÛ¼ºµÈ ºÐ¹®Àº ÅØ½ºÆ®À̹ǷΠ´Ü¼øÈ÷ HTML ű׸¦ ºÐ¸®Çϰųª Ư¼ö ±âÈ£ µîÀ» ó¸®ÇÏ¿© DB¿¡ ÀúÀå´Ù. ¸¸¾à ÷ºÎ ÆÄÀÏÀÌ ÀÖÀ» °æ¿ì À̸¦ DB¿¡ ³ÖÀ» ¼öµµ ÀÖ°í, º°µµÀÇ ¾÷·Îµå(Upload) µð·ºÅ丮¿¡ ¸¶·ÃµÈ ±ÔÄ¢¿¡ µû¶ó ÀúÀåÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.
¾×Ƽºê½ºÄù¾î¿¡¼ ¸¸µç µ¥ÀÌÅÍ´Â ÅØ½ºÆ®, HTML, MIME ÇüÅ·Π³ª´ ¼ö ÀÖÀ¸¸ç, ±× Áß MIME ÇüŰ¡ ¾×Ƽºê½ºÄù¾îÀÇ ¸ðµç ±â´ÉÀ» Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì¶ó ÇÒ ¼ö ÀÖ´Ù. MIME ÇüÅ´ µ¥ÀÌÅÍ¿¡¼ ¿©·¯ °¡Áö ÇüÅÂÀÇ ÆÄÀÏ, °³Ã¼, Ç÷¡½Ã ÆÄÀϰú º»¹® HTMLÀ» °°ÀÌ Àü¼Û¹ÞÀ» ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ¿Í °°ÀÌ MIME ÇüÅÂÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Ã °æ¿ì ¾×Ƽºê½ºÄù¾î¸¦ Àû¿ëÇÏÁö ¾ÊÀº °Ô½ÃÆÇ¿¡¼´Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Ù.
¸¸¾à MIME ÇüÅÂÀÇ µ¥ÀÌÅ͸¦ DB¿¡ ÀúÀåÇÑ´Ù¸é, Internet ExplorerÀÇ °æ¿ì MHT ÆÄÀÏÀ» Áö¿øÇÏÁö¸¸, ¸ðµç µ¥ÀÌÅÍÀÇ ³»¿ëÀ» Internet Explorer¿¡ Àü¼ÛÇÒ ¶§ HTTP Header¿¡ MIME Message ŸÀÔÀ¸·Î ÁÙ °æ¿ì µðÄÚµù(Decoding)ÇÏ¿© Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ƯÁ¤ÇÑ Æ÷¸Ë(Format)ÀÇ ÇüÅ·Π°Ô½Ã¹°À» Ç¥ÇöÇϱâ´Â ¾î·Æ´Ù. ¶ÇÇÑ DB¿¡¼ º»¹®¿¡ ´ëÇÏ¿© °Ë»öÇÒ ¼ö ÀÖ´Â ¹æ¹ýµµ ¾ø´Ù. ¸¸¾à DB¸¦ MY-SQLÀ» »ç¿ëÇÏ´Â °æ¿ì¶ó¸é Full Text Search¸¦ ½ÇÇàÇϰųª, WhereÀýÀÇ like ±¸¹®À¸·Î °Ë»öÇϱⰡ ¾î·Æ±â ¶§¹®ÀÌ´Ù. ÀÌ·¸°Ô MIME µ¥ÀÌÅ͸¦ Á÷Á¢ DB¿¡ ÀúÀåÇϰųª, ÆÄÀÏ ÇüÅ·Πº¸°üÇÏ´Â ¹æ¹ýÀº ½Ã½ºÅÛÀÇ È¿À²À» ÁÁÁö ¾Ê°Ô ÇÏ´Â ¹æ¹ýÀÌ´Ù.
°¡Àå ÀϹÝÀûÀ̸ç È¿À²ÀûÀÎ ¹æ½ÄÀº MIME µ¥ÀÌÅ͸¦ HTML º»¹®°ú ÷ºÎ ÆÄÀÏÀ» ºÐ¸®ÇÏ¿© ÀúÀåÇÏ´Â °ÍÀÌ´Ù. HTMLÀÇ °æ¿ìµµ DB¿¡ ÀúÀåÇÑ ÈÄ Ã·ºÎ ÆÄÀÏÀº º°µµÀÇ µð·ºÅ丮¿¡ ÀúÀåÇÏ´Â ¹æ¹ýÀ» ±ÇÀåÇÑ´Ù. ¸¸¾à ÷ºÎ ÆÄÀÏÀ» DB¿¡ ³ÖÀ» °æ¿ì ¸î°¡Áö DBÀÇ ÇüÅ¿¡ µû¶ó ¿©·¯ °¡Áö ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÑ´Ù.)
¾×Ƽºê½ºÄù¾î¿¡¼ MIME Encoded Data¸¦ Internet Explorer·Î Àü´Þ¹Þ¾Æ¼ À̸¦ Form Data·Î À¥ ¼¹ö¿¡ Àü´ÞÇϸé, À¥ ¼¹ö´Â ¼¹ö»çÀÌµå ½ºÅ©¸³Æ®(Server-Side Script)¿¡¼ ºÐ¸®ÇÏ´Â ÀÛ¾÷À» ÅëÇØ¼ HTML°ú Æ÷ÇÔµÈ ÆÄÀÏ·Î ºÐ¸®ÇÑ´Ù. ÀÌ ¶§, HTMLÀº DB¿¡ ÀúÀåµÇ°í, Æ÷ÇÔµÈ ÆÄÀÏÀº File System¿¡ ÀúÀåÇÑ´Ù.
|
ÀϹÝÀûÀ¸·Î À¥ ÇÁ·Î±×·¡¹Ö¿¡¼ »ç¿ëÇϰí ÀÖ´Â Æû Çʵå(Form Field)´Â <FORM> ű׾ȿ¡ Çʵ带 ÁöÁ¤Çϰí, Æû(Form)ÀÇ Àü¼Û¹æ½ÄÀ¸·Î POST, GET À¸·Î ÁöÁ¤ÇÏ¸é ¼¹ö»çÀ̵å(Server-Side) ½ºÅ©¸³Æ®ÀÇ Á¾·ù¸¶´Ù ¾à°£ÀÇ Â÷ÀÌ´Â ÀÖÁö¸¸ ÀÚµ¿ÀûÀ¸·Î ½ºÅ©¸³Æ®¸¦ Àü¼Û¹ÞÀ» ¼ö ÀÖ´Â ÇüÅÂÀÌ´Ù.
ÇÏÁö¸¸ ¾×Ƽºê½ºÄù¾î¸¦ »ç¿ëÇÒ °æ¿ì Æû°ú °°Àº º¹ÀâÇÑ ÀÛ¾÷À» °ÅÄ¡Áö ¾Ê°í, ¹Ù·Î µ¥ÀÌÅÍ °ªÀ» Àü´ÞÇÒ ¼ö ÀÖ´Ù. C#¿¡¼µµ ¾×Ƽºê½ºÄù¾î¸¦ Àû¿ëÇÏ´Â °ÍÀº ¸î ÁÙÀÇ °£´ÜÇÑ Äڵ带 ÀÔ·ÂÇÔÀ¸·Î½á ÀÌ·ç¾îÁø´Ù.
¾Æ·¡´Â À§¿Í °°Àº °úÁ¤À» ½ÇÁ¦·Î ±¸ÇöÇÑ C# ¼Ò½º ÀϺηΠAS2Board.csÀÇ WriteBoard¿Í DecodeMIMIE ÇÔ¼öÀÌ´Ù. WriteBoard ÇÔ¼ö´Â DB¿¡ °Ô½Ã¹°À» ÀÔ·ÂÇϰí, DecodeMIME ÇÔ¼ö¿¡¼ MIME µ¥ÀÌÅ͸¦ µðÄÚµåÇÏ´Â ¿ªÇÒÀ» °¢°¢ ÇØ ÁØ´Ù.
<AS2Board.csÀÇ WriteBoardÇÔ¼ö>
public bool WriteBoard(string author, string subject, string homepage, string email, string password, string MIMEContent) { int msgno = 0; string strSql; string contents; SqlCommand cmd; SqlDataReader reader;
OpenDataBase(); strSql = "select max(msgno) from board"; cmd = new SqlCommand(strSql, con); reader = cmd.ExecuteReader(); reader.Read();
if(reader.IsDBNull(0)) msgno = 0; else msgno = reader.GetInt32(0);
reader.Close(); msgno++;
contents = DecodeMIME(MIMEContent, msgno.ToString()); contents = Replace(contents, "'", "\\'");
strSql = "insert into board (msgno, author, email, homepage, subject, msgbody, password, p_id, wtime) values ("; strSql += msgno.ToString() + ", "; strSql += "'" + author + "', "; strSql += "'" + email + "', "; strSql += "'" + homepage + "', "; strSql += "'" + subject + "', "; strSql += "'" + contents + "', "; strSql += "'" + password + "', "; strSql += msgno.ToString() + ", "; strSql += "GETDATE());";
cmd.CommandText = strSql; cmd.ExecuteNonQuery(); reader.Close(); return true; } |
<as2BoardÀÇ DecodeMIMEÇÔ¼ö>
private string DecodeMIME(string MIMEContent, string msgno) { string bodymsg; string dataFolder; string dataUrl; DirectoryInfo di; FileInfo[] afi; MIMEObjectClass mime = new MIMEObjectClass();
// save included file dataFolder = uploadpath + "\\" + msgno; dataUrl = uploadURL + "/" + msgno; Directory.CreateDirectory(dataFolder); mime.Decode(MIMEContent, dataFolder);
// file reading FileStream freader = File.OpenRead(dataFolder + "\\noname.htm"); byte[] buffer = new byte[freader.Length]; freader.Read(buffer, 0, (int)freader.Length); bodymsg = Encoding.Default.GetString(buffer); freader.Close(); File.Delete(dataFolder + "\\noname.htm"); di = new DirectoryInfo(dataFolder); afi = di.GetFiles();
foreach(FileInfo fi in afi) { bodymsg = Replace(bodymsg, fi.Name, uploadURL + "/" + msgno + "/" + fi.Name); }
return bodymsg; } |
À§ÀÇ ¼Ò½º¿¡¼
Àº ÇöÀç ÀúÀåÇÒ °Ô½Ã¹°ÀÇ ÀÏ·Ã ¹øÈ£ÀÌ´Ù. °Ô½ÃÆÇ¿¡¼´Â ÀÌ ÀÏ·Ã ¹øÈ£¸¦ »ç¿ëÇØ¼ ÆÄÀÏ ÀúÀå¿ë µð·ºÅ丮 ¾Æ·¡¿¡ °Ô½Ã¹°À» ÀúÀåÇÒ µð·ºÅ丮¸¦ ¿¡ ¸¸µç´Ù. ±×¸®°í ÷ºÎ ÆÄÀÏÀ» ÀÌ µð·ºÅ丮¿¡ ÀúÀåÇϰí, HTML ¼Ò½º¿¡ ÀÖ´Â ÆÄÀÏÀÇ ÀúÀå °æ·Î¸íÀ» ½ÇÁ¦·Î ÆÄÀÏÀ» ÀúÁ¤ÇÑ °æ·Î¸íÀ¸·Î ¹Ù²Û´Ù. ±×·¯¹Ç·Î HTML ÆÄÀÏÀ» »ç¿ëÀÚ¿¡°Ô Àü¼ÛÇÒ ¶§, Ưº°È÷ ¼Ò½º¸¦ ó¸®ÇÏÁö ¾Ê¾Æµµ ÷ºÎ ÆÄÀÏÀ» º¸¿©ÁÙ ¼ö ÀÖ´Ù.C#À» ±â¹ÝÀ¸·Î ÇÏ´Â À̹ø ¿¹Á¦¿¡¼ ½ÇÁúÀûÀÎ µðÄÚµùÀº ¾×Ƽºê½ºÄù¾î¿Í ÇÔ²² ¹èÆ÷ÇÏ´Â NamoMIME COM Object¸¦ »ç¿ëÇÑ´Ù. ÀÌ ¿ÀºêÁ§Æ®¸¦ ºñÁÖ¾ó ½ºÆ©µð¿À¿¡¼ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº¸ÀÚ.¿ì¼± Solution Exeplorer¿¡¼ [Add Reference]¸¦ ¼±ÅÃÇÑ´Ù.
[Add Reference] À©µµ¿ì¿¡¼ [COM] ÅÇÀ» ¼±ÅÃÇϸé À§¿Í °°ÀÌ NamoMIME 1.0 Type Library¸¦ ¼±ÅÃÇÏ¿© Selected Components ¿¡ Ç¥½ÃÇϵµ·Ï ÇÑ´Ù. ¸¸¾à ¸®½ºÆ®¿¡ NamoMIME 1.0 Type Library Ç׸ñÀÌ º¸ÀÌÁö ¾ÊÀ¸¸é Browse¸¦ Ŭ¸¯ÇÏ¿© Á÷Á¢ NamoMIME.dllÀ» ¼±ÅÃÇÑ´Ù.
[Add Reference] À©µµ¿ì¿¡¼ NamoMIME 1.0 Type Library¸¦ ¼±ÅÃÇϰí [OK]¹öưÀ» ´©¸£¸é, ¾Æ·¡¿Í °°ÀÌ Soluction ExplorerÀÇ Referece¿¡ NAMOMIMELib°¡ º¸ÀδÙ.
NamoMIME.DLLÀ» »ç¿ëÇÒ Áغñ°¡ ³¡³µ´Ù. ÀÌÁ¦ ÀÛ¼ºÇÑ À¥ °Ô½ÃÆÇ ¼Ò½º¿¡ NAMO MIMELibÀÇ ³×ÀÓ½ºÆäÀ̽º¸¦ ¼±¾ðÇÏ¸é µÈ´Ù. ¾Æ·¡´Â NamoMIME.DLLÀ» »ç¿ëÇÑ °£´ÜÇÑ MIME µðÄÚµùÀÇ ¿¹ÀÌ´Ù.
using NAMOMIMELib; <Áß·«> public string TestDecodeMIME(string MIMEData, string decodeFolder) { MIMEObjectClass mime = new MIMEObjectClass(); Directory.CreateDirectory(decodeFolder); mime.Decode(MIMEData, decodeFolder); } |
¾Æ·¡´Â ÀÚÁÖ »ç¿ëÇÏ´Â MIMEObjectClassÀÇ ÇÔ¼öµéÀÌ´Ù. º¸´Ù ÀÚ¼¼ÇÑ ³»¿ëÀº ³ª¸ð ÀÎÅÍ·¢Æ¼ºêÀÇ °³¹ßÀÚ ÆäÀÌÁö¸¦ ÂüÁ¶Çϵµ·Ï ÇÑ´Ù.
void BeginDecodeEx(string mime)
MIME µðÄÚµù Áغñ ÀÛ¾÷À» ÇÑ´Ù. ¹Ýµå½Ã EndDecodeEx() ÇÔ¼ö¿Í ½ÖÀ¸·Î »ç¿ëµÇ¾î¾ß ÇÑ´Ù. ÀÌ ÇÔ¼ö¸¦ ½ÇÇàÇÑ ÈĺÎÅÍ DecodeEx(), GetItemCount() ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö °¡ ÀÖ´Ù.
void EndDecodeEx()
MIME µðÄÚµùÀ» ³¡³½´Ù.
int GetItemCount()
MIME ÆÄÀÏ¿¡ Æ÷ÇÔµÈ ItemÀÇ °³¼ö¸¦ °è»êÇÑ´Ù. BeginDecodeEx() ½ÇÇà ÈÄ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
string DecodeEx(int index, int type)
MIME ¿¡ Æ÷ÇÔµÈ ³»¿ëÁß ÁöÁ¤µÈ index¿¡ ÇØ´çÇÏ´Â ³»¿ëÀÇ Á¤º¸¸¦ °¡Á®¿Â´Ù.
C# ¼Ò½º¿¡ ¸î ÁÙÀÇ °£´ÜÇÑ Äڵ带 ÀÔ·ÂÇϱ⸸ ÇÏ¸é ¾×Æ¼ºê½ºÄù¾î¸¦ ½±°Ô Àû¿ëÇÒ ¼ö ÀÖ´Ù. ±Û¾²±â ÀÔ·Â Æû ¼Ò½º¿¡¼ ¾×Ƽºê½ºÄù¾î¸¦ ³ªÅ¸³¾ ºÎºÐ¿¡ ÀÔ·Â Äڵ带 ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ´Ù.
<HTML> <HEAD> <TITLE>±Û¾²±â</TITLE> ................... <BODY> ................... <SCRIPT Language =" Javascript"> ................... //±Û¾²±â ¼Ò½º¿¡ Äõ¸®¸¦ º¸³¾ ¼ö Àִ ȯ°æ ¼³Á¤ </SCRIPT>
<TABLE> <FORM> <TR> <TD> ................... // ±Û¾´ÀÌ, À̸ÞÀÏ, Á¦¸ñ µî ÀÇ FORMÀ» ÁöÁ¤ ¹× ¾×Ƽºê½ºÄù¾î »ðÀÔ </TD> </TR> </FORM> //±Û¾²±â ÀÔ·ÂÆû ¿Ï·á </TABLE>
</BODY> </HEAD> </HTML>
|
¾×Ƽºê½ºÄù¾î ´Â Ç¥ÁØ Æû Çʵ尡 ¾Æ´Ï±â ¶§¹®¿¡ ÆûÀ» Àü¼ÛÇÏ´õ¶óµµ ¾×Ƽºê½ºÄù¾î¿¡¼ ÀÛ¼ºÇÑ ³»¿ëÀº À¥ ¼¹ö·Î Àü¼ÛÇÏÁö ¾Ê´Â´Ù. µû¶ó¼ ÆûÀ» Àü¼ÛÇϱâ Àü¿¡ ÄÁÆ®·Ñ¿¡¼ ÀÛ¼ºÇÑ ³»¿ëÀ» À¥ ¹®¼ÀÇ Ç¥ÁØ ÆûÇʵå·Î º¹»çÇÏ´Â °úÁ¤ÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ·¸°Ô Çϸé À¥ ¼¹ö¿¡¼´Â Ç¥ÁØ ÆûÇʵ带 ÅëÇØ¼ ³»¿ëÀ» Àü¼Û ¹Þ¾Æ ó¸®ÇÒ ¼ö ÀÖ´Ù.
C#¿¡¼´Â ¾Æ·¡¿Í °°ÀÌ À¥ ¹®¼ÀÇ ¼û±èÇʵå(HIDDEN type)¿¡ ÆíÁý ³»¿ëÀ» »ðÀÔÇϰí, ÆûÀÇ ³»¿ëÀ» ¼¹ö·Î Àü¼ÛÇÑ´Ù.
<writeform.aspxÀÇ ÀϺÎ>
function Save() { var objForm = document.writeform; objForm.msgbody.value = document.as2.MIMEValue; objForm.action = "main.aspx?mode=write"; objForm.submit(); } |
<%@ Page language="c#"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>Write article</title> <meta content="C#" name="CODE_LANGUAGE"> </HEAD> <body MS_POSITIONING="GridLayout"> <script language="jscript"> function Save() { var objForm = document.writeform; objForm.msgbody.value = document.as2.MIMEValue; objForm.action = "main.aspx?mode=write"; objForm.submit(); }
function List() { var objForm = document.writeform; objForm.action = "list.aspx"; objForm.submit(); }
function Cancel() { history.go(-1); } </script> <form name="writeform" method="post"> <table style="WIDTH: 644px; HEIGHT: 156px" border="0"> <tr> <td style="WIDTH: 90px">Homepage</td> <td>http:// <input style="WIDTH: 479px; HEIGHT: 22px" type="text" size="74" name="Homepage"></td> </tr> <tr> <td style="WIDTH: 90px; HEIGHT: 26px">E-Mail</td> <td style="HEIGHT: 26px"><input style="WIDTH: 391px; HEIGHT: 22px" type="text" size="59" name="EMail"></td> </tr> <TR> <TD style="WIDTH: 90px">Author</TD> <TD><INPUT style="WIDTH: 188px; HEIGHT: 22px" type="text" size="26" name="Author"></TD> </TR> <TR> <TD style="WIDTH: 90px">Subject</TD> <TD><INPUT style="WIDTH: 531px; HEIGHT: 22px" type="text" size="83" name="Subject"></TD> </TR> <TR> <TD style="WIDTH: 90px" colSpan="2"> <!-- ¾×Ƽºê½ºÄù¾î »ðÀÔ ½ÃÀÛ--> <script language="javascript" src="/namo/ActiveSquare2008.js"></script> <!-- ¾×Ƽºê½ºÄù¾î »ðÀÔ ³¡ --> </TD> </TR> <TR> <TD style="WIDTH: 90px">Password</TD> <TD><INPUT type="password" name="Password"> <input type="hidden" name="msgbody"> </TD> </TR> </table> <A href="javascript:Save()">Save Article</A> <A href="javascript:List()">List Article</A> <A href="javascript:Cancel()">Cancel</A> </form> </body> </HTML> |
°Ô½Ã¹°À» ¼öÁ¤ÇÏ´Â ºÎºÐÀº °Ô½ÃÆÇÀÇ ±Û¾²±â¿Í´Â ´Þ¸® ÀÌ¹Ì DBµî¿¡ ÀúÀåÇØ ³õÀº ³»¿ëÀ» ¾×Ƽºê½ºÄù¾î ·Î Àü´ÞÇÏ´Â °úÁ¤ÀÌ ÇÊ¿äÇÏ´Ù. µû¶ó¼, ±ÛÀ» ¼öÁ¤Çϱâ Àü¿¡ ¿ì¼± DB¿¡¼ ¼öÁ¤ÇÒ HTML ÆÄÀÏÀ» °¡Á®¿Í¾ß ÇÑ´Ù.
¿ì¼± ¼öÁ¤ÇÒ HTMLÀ» ¼öÁ¤ ÆûÀÇ ¼û±è(Hidden) ¼Ó¼º Çʵ忡 ´ëÀÔÇÏ¿© HTML ÆÄÀÏÀ» ¸¸µé¾î Àü¼ÛÇϰí, Ŭ¶óÀÌ¾ðÆ®¿¡¼ HTMLÀ» ·Îµù(Loading)ÇÒ ¶§ ¼û±è ¼Ó¼º ÇʵåÀÇ ³»¿ëÀ» ´Ù½Ã ¾×Ƽºê½ºÄù¾î¿¡ ÁöÁ¤ÇÑ´Ù. ÀÌ ¶§ ÷ºÎ ÆÄÀÏÀÇ °æ·Î¸íÀº ÀÌ¹Ì ¼¹ö¿¡ ÀúÀåÇÑ ÆÄÀÏÀÇ °æ·Î¸íÀ¸·Î º¯È¯µÇ¾î Àֱ⠶§¹®¿¡ ¾×Ƽºê½ºÄù¾î¿¡¼ HTMLÀ» ·ÎµùÇÏ°Ô µÇ¸é ¾×Ƽºê½ºÄù¾î°¡ ÀÌ ÆÄÀÏÀ» Á÷Á¢ ·ÎµùÇÑ´Ù. µû¶ó¼, ÷ºÎ ÆÄÀÏ¿¡ ´ëÇÑ º°µµÀÇ Ã³¸®´Â ÇÊ¿äÇÏÁö ¾Ê´Ù.
°Ô½Ã¹° ¼öÁ¤À» ¸¶Ä¡°í Àü¼ÛÇÒ ¶§´Â óÀ½ ÀÛ¼ºÇÑ ±ÛÀ» Àü¼ÛÇÏ´Â °Í°ú µ¿ÀÏÇÑ ¹æ¹ýÀ» »ç¿ëÇϸç, ¼¹ö¿¡ ÀÖ´Â ÆÄÀϵµ ´Ù½Ã ¾×Ƽºê½ºÄù¾î°¡ MIME ÇüÅ·ΠÀÎÄÚµùÇÏ¿© ¼¹ö¿¡ Àü¼ÛÇÑ´Ù.
|
¼öÁ¤ ÆûÀÇ ±¸¼ºÀº ¾²±â ÆûÀÇ ±¸¼º°ú´Â ´Þ¸® ¼û±è Çʵ尡 µÎ °³ÀÌ´Ù.
¿¹¸¦ µé¾î, ¼öÁ¤ Æû¿¡¼ ³»¿ëÀ» ÀÛ¼ºÇÑ ÈÄ, ¾ÏÈ£¸¦ ÀÔ·ÂÇϰí ÀúÀå ´ÜÃ߸¦ ´·¶Áö¸¸ ¾ÏÈ£°¡ Ʋ¸± °æ¿ì °Ô½ÃÆÇÀº ¿ø·¡ÀÇ ³»¿ëÀ» ´Ù½Ã Ãâ·ÂÇØ¾ß ÇÑ´Ù. ±×·±µ¥, ¸¸ÀÏ Çʵ尡 Çϳª »ÓÀÌ°í ±× Çʵ忡´Â ÀÌ¹Ì ¼öÁ¤ÇÑ ³»¿ë¸¸ µé¾îÀÖ´Ù¸é ¿ø·¡ÀÇ ³»¿ëÀ» DB¿¡¼ °¡Á®¿Í¾ß ÇÏ´Â ¹®Á¦°¡ »ý±ä´Ù. ÀÌ·± ½ÄÀ¸·Î DB¸¦ ºó¹øÇÏ°Ô ¿¬°áÇÑ´Ù¸é DBÀÇ ÀüüÀûÀÎ ¼º´ÉÀº ÀúÇ쵃 ¼ö¹Û¿¡ ¾ø´Ù.
µû¶ó¼, ù¹øÂ° ¼û±è Çʵå´Â ¾×Ƽºê½ºÄù¾î°¡ º¸¿©ÁÙ °ª, Áï ¼öÁ¤Çϱâ ÀüÀÇ °Ô½Ã¹° ³»¿ëÀ» °¡Áö°í ÀÖ°í, ´Ù¸¥ ÇϳªÀÇ Çʵå´Â ¼öÁ¤ÇÑ ´ÙÀ½ DB¿¡ ÀúÀåÇÒ ³»¿ëÀ» °¡Áö°í ÀÖ¾î¼, ¾ÏÈ£°¡ ´Ù¸¦ °æ¿ì¿¡´Â ¼öÁ¤Çϱâ ÀüÀÇ °Ô½Ã¹° ³»¿ëÀ» ¾×Ƽºê½ºÄù¾î·Î µ¹·ÁÁÖ°Ô ÇÑ´Ù.
´ÙÀ½Àº ¼öÁ¤ Æû(editform.aspx) ¼Ò½ºÀÇ ÇÑ ºÎºÐÀÌ´Ù.
<FORM Method="POST" name="editform"> <INPUT type="text" name="homepage" size=44> <INPUT type="text" name="email" size=50> <INPUT type="text" name="author"> <INPUT type=hidden name="contents">
<!-- ¾×Ƽºê½ºÄù¾î »ðÀÔ ½ÃÀÛ--> <script language="javascript" src="/namo/ActiveSquare2008.js"></script> <!-- ¾×Ƽºê½ºÄù¾î »ðÀÔ ³¡ --> <INPUT type="password" name="pass" size=20 maxlength=20> <FORM>
|
¼û±è Çʵ忡¼
´Â ¿ø·¡ÀÇ °Ô½Ã¹° ³»¿ëÀ» ÀúÀåÇÏ´Â ÇʵåÀÌ´Ù. Çʵ忡 ³»¿ëÀ» ÀúÀåÇÒ ¶§ ¿øº» µ¥ÀÌÅÍ´Â HTMLÀÓÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. HTML ű׷Π±¸¼ºµÇ¾î ÀÖÀ¸¹Ç·Î ³»¿ë¿¡´Â ¼Ò½º¿¡´Â HTML ű׵éÀÌ Æ÷ÇԵǾî ÀÖ´Ù. HTML ű׷ΠÀÎÇØ ¼öÁ¤ ÆûÀÇ ÀüüÀûÀÎ µðÀÚÀΰú ³»¿ëÀÌ º¯°æµÉ ¼ö ÀÖÀ¸¹Ç·Î ű׿¡ ´ëÇÑ Á¤È®ÇÑ Ã³¸®¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù.ÀÌ·¸°Ô contents Çʵ尡 ¼öÁ¤ÇÒ ¹®¼ÀÇ HTML ¼Ò½º¸¦ °¡Áö°í ÀÖÀ» ¶§ ÁÖÀÇÇÒ °ÍÀº contents Çʵ忡 HTML ¼Ò½º¸¦ ±×´ë·Î ÀÔ·ÂÇÏ°Ô µÇ¸é ±× °ªÀ» ºê¶ó¿ìÀú°¡ ÇØ¼®Çؼ °á°ú¸¦ ȸ鿡 Ç¥½ÃÇÑ´Ù´Â Á¡ÀÌ´Ù. ÀÌ·± ¹®Á¦Á¡À» ¾ø¾Ö±â À§Çؼ HTML¿¡¼ »ç¿ëÇÏ´Â
¿Í ¸¦ HTML Ư¼ö ¹®ÀÚ Çü½ÄÀÎ <, >·Î º¯È¯ÇÑ´Ù. ű׸¦ HTMLÀÇ Æ¯¼ö¹®ÀÚ·Î º¯°æÇÏ¿© ¾×Ƽºê½ºÄù¾î¿¡ Àü´ÞÇϸé, ¾×Ƽºê½ºÄù¾î´Â < ¿Í >¸¦ °¢°¢ "<"¿Í ">"·Î º¯È¯Çؼ ÀνÄÇϹǷΠ¿øº» ³»¿ëÀ» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.ÀÌ·¸°Ô HTML ű׸¦ Ư¼ö ¹®ÀÚ·Î º¯°æÇÏ´Â ºÎºÐÀÇ ¼Ò½º´Â ´ÙÀ½°ú °°´Ù.
<editform.aspxÀÇ ÀϺÎ>
msgbody = reader.GetString(reader.GetOrdinal("msgbody")); ... (Áß·«) ... msgbody = board.ConvertHtmlChars(msgbody); |
¿¹¸¦ µé¾î ¿¹Á¦ 1°ú °°Àº HTML ¼Ò½º¸¦ contents¿¡ ÀÔ·ÂÇÏ·Á¸é ¿¹Á¦ 2¿Í °°Àº ¼¹ö »çÀÌµå ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
<html>
<head> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <title>Á¦¸ñ ¾øÀ½</title> </head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <p> </p> </body>
</html> |
<...Áß·«...> <INPUT type="hidden" name="contents" value="<html> <head> <meta http-equiv="content-type" xt/html; charset=euc-kr"> <title>Á¦¸ñ ¾øÀ½</title> </head> <body bgcolor="white" text="black" quot; vlink="purple" alink="red"> <p>&nbsp;</p> </body> </html>
"> <...Áß·«...>
|
±×·¯³ª, À¥ °Ô½ÃÆÇ¿¡¼´Â HTML ¼Ò½ºÀÇ ³»¿ëÀÌ Ç×»ó °¡º¯ÀûÀ̹ǷΠHTML ¼Ò½º¸¦ º¯¼ö·Î ó¸®ÇØ ÁÖ¾î¾ß ÇÑ´Ù. µû¶ó¼ ¾Æ·¡¿Í °°Àº ±¸Á¶ÀÇ C# ¼Ò½º¸¦ ¸¸µé¾î ÁÖ¾î¾ß ÇÑ´Ù.
<editform.aspxÀÇ ÀϺÎ>
<%@ Page language="c#"%> <%@ import namespace="System.Data" %> <%@ import namespace="System.Data.SqlClient" %> <%@ import namespace="as2bbs" %> <% ... msgbody = reader.GetString(reader.GetOrdinal("msgbody")); ... msgbody = board.ConvertHtmlChars(msgbody);
%> ... <input type="hidden" name="msgbody"> <input type="hidden" name="contents" value="<%= msgbody %>""> |
¸¶Áö¸·À¸·Î contents¿¡ HTML ¼Ò½º¸¦ ÀÔ·ÂÇϰí, ±×·¸°Ô ÀÔ·ÂÇÑ ¼Ò½º¸¦ ¾×Ƽºê½ºÄù¾î·Î ³Ñ±â¸é ¾×Ƽºê½ºÄù¾î¿¡¼ ³»¿ëÀ» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. À̰ÍÀ» C#À¸·Î ±¸ÇöÇÏ¸é ¾Æ·¡¿Í °°´Ù.
<editform.aspxÀÇ ÀϺÎ>
<script language="vbscript"> Sub as2_OnInitCompleted() Dim fRef Set fRef = document.editform fRef.as2.InsertValue 0, fRef.contents.value, 1 End Sub </script> |
´Â ¾×Ƽºê½ºÄù¾î°¡ ÃʱâȰ¡ ³¡³ª°í Á¤»óÀûÀÎ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Â ÃÖÃÊÀÇ »óŸ¦ ¸»ÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ ¸Þ½ÃÁö¿¡¼ ÇÁ·Î±×·¡¹Ö ÇÏ±æ ¿øÇÏ´Â ÇüÅÂÀÇ Á¶ÀÛÀ» ÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ »¡°£»öÀ¸·Î Ç¥½ÃÇÑ ºÎºÐÀÌ Æû(Form)ÀÇ contents Çʵ带 ¾×Ƽºê½ºÄù¾î¿¡ ´ëÀÔÇÏ´Â ºÎºÐÀÌ´Ù. ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº ±Û¾²±â ÇüÅÂ¿Í °°ÀÌ ¾×Ƽºê½ºÄù¾î¿¡¼ ³»¿ëÀ» °¡Á®¿Ã ¶§´Â ¾×Ƽºê½ºÄù¾îÀÇ MIME Value Property¸¦ ÀÌ¿ëÇßÁö¸¸ µ¥ÀÌÅÍ °ªÀ» Àü´ÞÇÒ ¶§´Â InsertValue Property¸¦ »ç¿ëÇÑ´Ù´Â Á¡ÀÌ´Ù. À̰ÍÀº ÇöÀç contents Çʵ尡 °¡Áö°í ÀÖ´Â °ªÀÌ ÀÏ¹Ý HTML°ú °°±â ¶§¹®ÀÌ´Ù. ¸¸¾à ¼¹ö¿¡ MIME ÇüÅ·Π¸ðµç °ªÀÌ ÀúÀåµÇ¾î ÀÖ´Ù¸é ¾×Æ¼ºê½ºÄù¾î¿¡ MIME Value Property¿¡ °ªÀ» ´ëÀÔÇÏ¸é µÈ´Ù.
ÀÌ·¸°Ô ¿Ï¼ºÇÑ À¥ °Ô½ÃÆÇÀÇ ¼öÁ¤Çϱ⠼ҽº´Â ¾Æ·¡¿Í °°´Ù.
<editform.aspx>
<%@ Page language="c#"%> <%@ import namespace="System.Data" %> <%@ import namespace="System.Data.SqlClient" %> <%@ import namespace="as2bbs" %> <% string msgno; as2Board board = new as2Board(); SqlDataReader reader; string msgbody; string homepage; string author; string email; string subject;
msgno = Request.Params.Get("msgno");
if(msgno == null) Response.End();
reader = board.ReadMessage(System.Int32.Parse(msgno)); subject = reader.GetString(reader.GetOrdinal("subject")); msgbody = reader.GetString(reader.GetOrdinal("msgbody")); homepage = reader.GetString(reader.GetOrdinal("homepage")); author = reader.GetString(reader.GetOrdinal("author")); email = reader.GetString(reader.GetOrdinal("email")); msgbody = board.ConvertHtmlChars(msgbody); reader.Close(); board.CloseBoard(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>Write article</title> <meta content="C#" name="CODE_LANGUAGE"> </HEAD> <body> <script language="vbscript"> Sub as2_OnInitCompleted() Dim fRef Set fRef = document.editform fRef.as2.InsertValue 0, fRef.contents.value, 1 End Sub </script> <script language="jscript"> function Save() { var objForm = document.editform; objForm.msgbody.value = document.as2.MIMEValue; objForm.action = "main.aspx?mode=edit&msgno=<%= msgno %>"; objForm.submit(); }
function List() { var objForm = document.editform; objForm.action = "list.aspx"; objForm.submit(); }
function Cancel() { history.go(-1); } </script> <form name="editform" method="post"> <table style="WIDTH: 644px; HEIGHT: 156px" border="0"> <tr> <td style="WIDTH: 90px">Homepage</td> <td>http:// <input style="WIDTH: 479px; HEIGHT: 22px" type="text" size="74" name="Homepage" value="<%= homepage %>"></td> </tr> <tr> <td style="WIDTH: 90px; HEIGHT: 26px">E-Mail</td> <td style="HEIGHT: 26px"><input style="WIDTH: 391px; HEIGHT: 22px" type="text" size="59" name="EMail" value="<%= email %>"></td> </tr> <TR> <TD style="WIDTH: 90px">Author</TD> <TD><INPUT style="WIDTH: 188px; HEIGHT: 22px" type="text" size="26" name="Author" value="<%= author %>"></TD> </TR> <TR> <TD style="WIDTH: 90px">Subject</TD> <TD><INPUT style="WIDTH: 531px; HEIGHT: 22px" type="text" size="83" name="Subject" value="<%= subject %>"></TD> </TR> <TR> <TD style="WIDTH: 90px" colSpan="2"> <!-- ¾×Ƽºê½ºÄù¾î »ðÀÔ ½ÃÀÛ--> <script language="javascript" src="/namo/ActiveSquare2008.js"></script> <!-- ¾×Ƽºê½ºÄù¾î »ðÀÔ ³¡ --> </TD> </TR> <TR> <TD style="WIDTH: 90px">Password</TD> <TD><INPUT type="password" name="Password"> <input type="hidden" name="msgbody"> <input type="hidden" name="contents" value="<%= msgbody %>""> </TD> </TR> </table> <A href="javascript:Save()">Save Article</A> <A href="javascript:List()">List Article</A> <A href="javascript:Cancel()">Cancel</A> </form> </body> </HTML> |
°Ô½Ã¹°À» Áö¿ì´Â °úÁ¤Àº °£´ÜÇÏ´Ù. ¿ì¼± "del"À̶ó´Â À̸§À» °¡Áø À¥ Æû Çϳª¸¦ ¼Ö·ç¼Ç¿¡ Ãß°¡ÇÑ´Ù. ÀÌ À¥ Æû¿¡ °£´ÜÇÏ°Ô Panel, Input Text, ButtonÀ» Ãß°¡ÇÑ´Ù. °¢ ÄÁÆ®·Ñ¿¡ ´ëÇÑ ¼Ó¼ºÀº ´ÙÀ½°ú °°ÀÌ ÁöÁ¤Çϵµ·Ï ÇÑ´Ù.
TextBox |
Id |
txtPass |
|
TextMode |
Password |
Button |
Id |
delBtn |
|
Text |
Delete |
ÆíÁýÀÌ ³¡³µÀ¸¸é Delete ¹öưÀ» ´õºí Ŭ¸¯ÇÏ¿© À̺¥Æ®¸¦ Ãß°¡Çϵµ·Ï ÇÑ´Ù. ¾Æ·¡´Â delBtn¿¡ À̺¥Æ®¸¦ ±¸ÇöÇÑ ¼Ò½ºÀÌ´Ù.
<del.aspx.csÀÇ delBtn_Click À̺¥Æ® ó¸®>
private void delBtn_Click(object sender, System.EventArgs e) { string password = txtPass.Text; string msgno = Request.QueryString.Get("msgno"); if(msgno == null) Response.Redirect("list.aspx"); as2Board board = new as2Board(); if(board.DeleteBoard(System.Int32.Parse(msgno), password)) Response.Redirect("list.aspx"); } |
¿ì¼±, TextBoxÀÎ txtPassÀÇ °ªÀ» °¡Á®¿Í¼ ÇØ´ç °Ô½Ã¹° - °Ô½Ã¹° ¹øÈ£ÀÎ msgno´Â ÆûÀÇ QueryStringÀ¸·Î Àü´ÞÇÑ´Ù - as2Board Ŭ·¡½ºÀÇ DeleteBoard()¿¡ Àü´ÞÇÏ´Â ³»¿ëÀÌ´Ù. ½ÇÇà ÈÄ¿¡´Â °Ô½Ã¹°ÀÌ Áö¹Ç·Î ¸®½ºÆ®¸¦ Ç¥½ÃÇϱâ À§±â À§ÇØ list.aspx·Î À̵¿ÇÑ´Ù.
as2Board Ŭ·¡½º¿¡ ÀÖ´Â DeleteBoard()´Â MS-SQL Server¿¡ Á¢¼ÓÇÏ¿© ÇØ´ç °Ô½Ã¹° ¹øÈ£ÀÇ ¾ÏÈ£¿Í ÀÔ·ÂµÈ ¾ÏÈ£°¡ °°ÀºÁö ºñ±³ÇÑ ÈÄ °°´Ù¸é ÇØ´ç ·¹Äڵ带 »èÁ¦Çϰí true¸¦ ¸®ÅÏÇϰí, ´Ù¸£´Ù¸é false¸¦ ¸®ÅÏÇÑ´Ù. ´ÙÀ½Àº DeleteBoard()ÀÇ ³»¿ëÀÌ´Ù.
<AS2Board.csÀÇ DeleteBoardÇÔ¼ö>
public bool DeleteBoard(int msgno, string password) { SqlCommand cmd; SqlDataReader reader; string cmdText; string orgPass;
cmdText = "select password from board where msgno = " + msgno.ToString(); OpenDataBase(); cmd = new SqlCommand(cmdText, con); reader = cmd.ExecuteReader();
if(!reader.Read()) return false; orgPass = reader.GetString(0); if(!orgPass.Equals(password)) return false;
reader.Close();
cmdText = "delete from board where msgno = " + msgno.ToString(); cmd.CommandText = cmdText; cmd.ExecuteNonQuery(); DeleteFilePath(msgno);
con.Close(); return true; } |