ÀÌ ±â¼ú ³ëÆ®¿¡¼´Â DAO ·¹ÄÚµå ÇÊµå ±³È¯ (DFX) ¸ÞÄ¿´ÏÁòÀ» ¼³¸íÇÕ´Ï´Ù. DFX ·çƾ¿¡¼ ¹«½¼ ÀÏÀÌ ÀϾ´Â°¡ ÀÌÇØ ÇÏ·Á¸é DFX_Text ÇÔ¼ö ¿¹Á¦·Î ÀÚ¼¼È÷ ¼³¸í ÇϰڽÀ´Ï´Ù. ÀÌ ±â¼ú ³ëÆ® Á¤º¸ÀÇ Ãß°¡ ¿øº»À¸·Î °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù ´Ü¼øÈ÷ Äڵ带 ´Ù¸¥ °³º° DFX ÇÔ¼ö.´ç½ÅÀº ¾Æ¸¶ ÇÊ¿ä ÇÏÁö ¾Ê½À´Ï´Ù »ç¿ëÀÚ Á¤ÀÇ DFX ·çƾ ÀÚÁÖ »ç¿ëÀÚ ÁöÁ¤ RFX ·çƾ (ODBC µ¥ÀÌÅͺ£À̽º Ŭ·¡½º¿Í ÇÔ²² »ç¿ë) ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ ±â¼ú ³ëÆ® Æ÷ÇÔ:
DFX °³¿ä
DAO ·¹ÄÚµå ÇÊµå ±³È¯ ¸ÞÄ¿´ÏÁò (DFX) °Ë»ö ¹× CDaoRecordset Ŭ·¡½º¸¦ »ç¿ë ÇÏ´Â °æ¿ì µ¥ÀÌÅ͸¦ ¾÷µ¥ÀÌÆ® ÇÏ´Â ÀýÂ÷¸¦ ´Ü¼øÈ Çϱâ À§ÇØ »ç¿ë µË´Ï´Ù. ÇÁ·Î¼¼½º´Â CDaoRecordset Ŭ·¡½ºÀÇ µ¥ÀÌÅÍ ¸â¹öÀÇ »ç¿ëÀ» ÅëÇØ °£¼ÒÈ µË´Ï´Ù. CDaoRecordset¿¡¼ ÆÄ»ý ÇÏ ¿© ÆÄ»ýµÈ Ŭ·¡½º¸¦ ³ªÅ¸³»´Â Å×ÀÌºí ¶Ç´Â Äõ¸®ÀÇ °¢ Çʵ忡 µ¥ÀÌÅÍ ¸â¹ö¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ "Á¤Àû ¹ÙÀεù" ¸ÞÄ¿´ÏÁòÀº °£´Ü ÇÕ´Ï´Ù, ÇÏÁö¸¸ ±×°ÍÀº ¸ðµç ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ´ë ÇÑ ¼±ÅÃÀÇ µ¥ÀÌÅÍ ¹ÝÀÔ/update ¸Þ¼µå µÇÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. DFX´Â ÇöÀç ·¹Äڵ尡 º¯°æ µÉ ¶§¸¶´Ù ¸ðµç ¹Ù¿îµå Çʵ带 °Ë»ö ÇÕ´Ï´Ù. ÅëÈ º¯°æ µÉ ¶§ ¸ðµç Çʵ带 °¡Á®¿À´Â ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ¼º´É¿¡ ¹Î°¨ÇÑ ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ß ÇÏ´Â °æ¿ì ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù "µ¿Àû ¹ÙÀεù" CDaoRecordset::GetFieldValue ¿Í CDaoRecordset::SetFieldValue ¸¦ ÅëÇØ µ¥ÀÌÅÍ ¾×¼¼½º ¼±Åà ¹æ¹ý¡£
¸Þ¸ðnbsp;??DFX¿Í µ¿Àû ¹ÙÀεù µÇÁö »óÈ£ ¹èŸÀûÀÎ Á¤Àû ¹× µ¿Àû ¹ÙÀεù »ç¿ë ÇÏ´Â ÇÏÀ̺긮µå¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(&N).
¿¹Á¦ 1-DAO ·¹ÄÚµå ÇÊµå ±³È¯¸¸ÀÇ »ç¿ë
(°¡Á¤ CDaoRecordset -ÆÄ»ýµÈ Ŭ·¡½º CMySet ÀÌ¹Ì ¿·Á)
/ / Customers Å×ÀÌºí¿¡ »õ ·¹Äڵ带 Ãß°¡
mysetÀÔ´Ï´Ù.AddNew();
myset.m_strCustID = _T("MSFT");
myset.m_strCustName = _T("Microsoft");
mysetÀÔ´Ï´Ù.ÇØ½¬
¿¹Á¦ 2-»ç¿ë¸¸ µ¿Àû ¹ÙÀεù
(°¡Á¤ CDaoRecordset Ŭ·¡½º¸¦ »ç¿ë ÇÏ ¿© rs , ±×°ÍÀº ÀÌ¹Ì ¿·Á)
/ / Customers Å×ÀÌºí¿¡ »õ ·¹Äڵ带 Ãß°¡
COleVariantnbsp; varFieldValue1 (_T("MSFT"), VT_BSTRT);
/ / Âü°í: VT_BSTRT ±âº» À¯´ÏÄÚµå ´ë½Å ANSI·Î string Çü½Ä Ç÷¡±×
COleVariant varFieldValue2 (_T("Microsoft"), VT_BSTRT);
rsÀÔ´Ï´Ù.AddNew();
rsÀÔ´Ï´Ù.SetFieldValue(_T("Customer_ID"), varFieldValue1);
rsÀÔ´Ï´Ù.SetFieldValue(_T("Customer_Name"), varFieldValue2);
rsÀÔ´Ï´Ù.ÇØ½¬(&N)
¿¹Á¦ 3-DAO ·¹ÄÚµå ÇÊµå ±³È¯ ¹× µ¿Àû ¹ÙÀεù »ç¿ë
(°Ë»ö Á÷¿ø µ¥ÀÌÅÍ·Î CDaoRecordset°¡Á¤-ÆÄ»ý Ŭ·¡½º emp )
/ / Ç¥½Ã µÉ ¼ö ÀÖµµ·Ï Á÷¿øÀÇ µ¥ÀÌÅ͸¦ ¾òÀ»
empÀÔ´Ï´Ù.MoveNext();
/ / »ç¿ëÀÚ°¡ Á÷¿øÀÇ »çÁøÀ» º¸°í ½Í¾î ÇÏ´Â °æ¿ì
/ / ±×°ÍÀ» ÀÎÃâ
COleVariant varPhoto;
°æ¿ì (bSeePicture)
empÀÔ´Ï´Ù.GetFieldValue(_T("photo"), varPhoto);
/ / µ¥ÀÌÅÍ Ç¥½Ã
PopUpEmployeeData (emp.m_strFirstName,
emp.m_strLastName, varPhoto)
DFX ¸ÞÄ¿´ÏÁò Ȱ¿ë ÇÏ´Â MFC ODBC Ŭ·¡½º¿¡ ÀÇÇØ ·¹ÄÚµå Çʵå RFX (±³È¯) ¸ÞÄ¿´ÏÁòÀ» ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ ÇÕ´Ï´Ù. RFX¿Í DFX priciples µ¿ÀÏ ÇÏÁö¸¸ ¼ö¸¹Àº ³»ºÎ Â÷ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. DFX ÇÔ¼ö µðÀÚÀÎ °³º° DFX ·çƾ¿¡ ÀÇÇØ °øÀ¯ µÇ´Â »ç½Ç»ó ¸ðµç ÄÚµå µî À̾ú´Ù. ÃÖ°í ¼öÁØÀÇ DFX¸¸ ¾Ê½À´Ï´Ù ¸î °¡Áö¡£
DFXÀÇ ÇÙ½É ¸ÞÄ¿´ÏÁò CDaoRecordset ÆÄ»ý Ŭ·¡½ºÀÇ DoFieldExchange ÇÔ¼öÀÔ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ÀûÀý ÇÑ ÀÛ¾÷ À¯ÇüÀÇ °³º° DFX ÇÔ¼ö¸¦ È£ÃâÀ» µð½ºÆÐÄ¡ÇÕ´Ï´Ù. ³»ºÎ MFC DoFieldExchange ¸¦ È£Ãâ Çϱâ Àü¿¡ ÇÔ¼ö ÀÛ¾÷ À¯ÇüÀ» ¼³Á¤ ÇÕ´Ï´Ù. ´ÙÀ½ ¸ñ·ÏÀº ´Ù¾ç ÇÑ ÀÛ¾÷ Á¾·ù ¹× °£´ÜÇÑ ¼³¸í¡£
| ÀÛ¾÷ | ¼³¸í |
| AddToParameterList | ¸Å°³ º¯¼ö ÀýÀ» ºôµå |
| AddToSelectList | ºôµå SELECT Àý |
| BindField | ¹ÙÀεù ±¸Á¶¸¦ ¼³Á¤ |
| BindParam | ¸Å°³ º¯¼ö °ª ¼³Á¤ |
| ¼öÁ¤ | NULL »óÅ ¼³Á¤ |
| AllocCache | ´õ·¯¿î °Ë»ç¿¡ ´ë ÇÑ Ä³½Ã¸¦ ÇÒ´ç |
| StoreField | ÇöÀç ·¹Äڵ尡 ij½Ã¿¡ ÀúÀå |
| LoadField | ¸â¹ö °ªÀ» º¹¿ø ij½Ã |
| FreeCache | ij½Ã¸¦ ÇØÁ¦ |
| SetFieldNull | ¼³Á¤ ÇÊµå »óÅ amp; NULL °ª(&A) |
| MarkForAddNew | Ç¥½Ã ÇÊµå ´õ·¯¿î ¾Æ´Ï¶ó¸é ÀÇ»ç NULL |
| MarkForEdit | Ç¥½Ã ÇÊµå ´õ·¯¿î °æ¿ì ij½Ã¸¦ ÀÏÄ¡ ÇÏÁö ¾Ê½À´Ï´Ù. |
| SetDirtyField | ¼³Á¤ Çʵå Ä¿¹ÔµÇÁö ¾ÊÀº °ÍÀ¸·Î Ç¥½Ã ÇÏ´Â °ª |
´ÙÀ½ ¼½¼Ç¿¡¼ °¢ ÀÛ¾÷ ¼³¸í ÇϰڽÀ´Ï´Ù ÀÚ¼¼È÷ DFX_Text ¿¡ ´ë ÇÑ¡£
DAO ·¹ÄÚµå ÇÊµå ±³È¯ ÇÁ·Î¼¼½º¿¡ ´ë ÇÑ ÀÌÇØ¸¦ °¡Àå Áß¿ä ÇÑ ±â´ÉÀº ICDaoRecordset °³Ã¼ÀÇ GetRows ÇÔ¼ö¸¦ »ç¿ë ÇÕ´Ï´Ù. DAO GetRows ÇÔ¼ö´Â ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±â¼ú ³ëÆ®´Â °£·«ÇϰԸ¸ ¼³¸í GetRows ÀÌ ±â¼ú ³ëÆ®ÀÇ ¹üÀ§¸¦ ¹þ¾î³µ½À´Ï´Ù.
DAO getrows¿¡¼´Â ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ Á¤ÀÇ DFX ·çƾÀº ¹«¾ùÀԴϱî
±×°ÍÀº DFX ÇÔ¼ö¿¡¼ ±¸Çö ÇÏ´Â °¡Àå Áß¿ä ÇÑ ÀÛ¾÷Àº ¼º°øÀûÀ¸·Î GetRows¸¦ È£Ãâ ÇÏ·Á¸é ÇÊ¿äÇÑ µ¥ÀÌÅÍ ±¸Á¶¸¦ ¼³Á¤ ÇÏ´Â ±â´É ÇØ¾ß ÇÕ´Ï´Ù.ÀÌ Åä·Ð¿¡¼ ¸í¹éÇÑ. DFX ÇÔ¼ö »Ó¸¸ ¾Æ´Ï¶ó, Áö¿ø ÇØ¾ß ÇÏ´Â ´Ù¸¥ ÀÛ¾÷ÀÇ ¹øÈ£ ÇÏÁö¸¸ ¾Æ¹«µµ Áß¿ä Çѵµ Á¦´ë·Î GetRows ¿¡ ´ë ÇÑ Áغñ·Î º¹Àâ ÇÑÀ¸·Î ÀüÈ¡£
DFX »ç¿ë ÇÏ ¿© ¿Â¶óÀÎ ¼³¸í¼¿¡ ¼³¸í µÇ¾î ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î, °Å±â¿¡ 2 ¿ä±¸ »çÇ×. ù°, °¢ ¹ÙÀεùµÈ ÇÊµå ¹× ¸Å°³ º¯¼ö CDaoRecordset ÆÄ»ý Ŭ·¡½º¿¡ ¸â¹ö¸¦ Ãß°¡ ÇØ¾ß ÇÕ´Ï´Ù. ´ÙÀ½ÀÌ CDaoRecordset::DoFieldExchange ÀçÁ¤ÀÇ ÇØ¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¸â¹öÀÇ Çü½ÄÀ» À¯ÀÇ ÇÏ´Â °ÍÀÌ Áß¿ä ÇÕ´Ï´Ù. ±×°ÍÀº µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â ÇʵåÀÇ µ¥ÀÌÅÍ¿Í ÀÏÄ¡ ÇØ¾ß ¶Ç´Â Àû¾îµµ ÇØ´ç À¯Çü¿¡ convertable µÉ. Long integer¿Í °°Àº µ¥ÀÌÅͺ£À̽ºÀÇ ¿¹¸¦ µé¾î ¼ýÀÚ Çʵ带 ÅØ½ºÆ®·Î º¯È¯ ÇÏ °í CString ¸â¹ö¿¡ ¹ÙÀεùµÈ Ç×»ó ¼ö ÇÏÁö¸¸ µ¥ÀÌÅͺ£À̽ºÀÇ ÅØ½ºÆ® Çʵå Á¤¼ö (long)¿Í °°Àº ¼ýÀÚ Ç¥ÇöÀ¸·Î º¯È¯ ÇÏ °í long Á¤¼ö¸¦ ¸â¹ö¿¡ ¹ÙÀεùµÈ ¹Ýµå½Ã ÀÖ½À´Ï´Ù. DAO¿Í Microsoft Jet µ¥ÀÌÅͺ£À̽º ¿£ÁøÀº º¯È¯ (´ë½Å MFC)¿¡ ´ë ÇÑ Ã¥ÀÓÀÌ¡£
¾Õ¿¡¼ ¼³¸í Çß µíÀÌ, ¾Æ¸¶ DFX ÀÛµ¿ ÇÏ´Â ¹æ¹ýÀ» ¼³¸í ÇÏ´Â °¡Àå ÁÁÀº ¹æ¹ýÀº ´Ü¼øÈ÷ ¿¹¸¦ ÅëÇØ ÀÛµ¿ ÇÏ´Â. ÀÌ ¸ñÀûÀ» À§ÇØ DFX_Text ³»ºÎ¸¦ Åë°ú ÇØ¾ß ¾ÆÁÖ Àß ÀÛµ¿ DFXÀÇ Àû¾îµµ ±âº»ÀûÀÎ ÀÌÇØ¸¦ Á¦°ø ÇÏ´Â µ¥¡£
AddToParameterList
ÀÌ ÀÛ¾÷Àº SQL ¸Å°³ º¯¼ö Àý ºôµå (" Parameters lt;param name>, <param type> ... ; ") Jet¿¡ ÇÊ¿äÇÑ. °¢ ¸Å°³ º¯¼ö ¶ó´Â À̸ç RFX È£Ãâ¿¡ ÁöÁ¤ µÈ) (·Î Çü½ÄÈ µË´Ï´Ù. °³º° Çü½Ä À̸§ ÂüÁ¶¸¦ CDaoFieldExchange::AppendParamType ÇÔ¼ö ÇÔ¼ö¸¦ ÂüÁ¶ ÇϽʽÿÀ. DFX_TextÀÇ °æ¿ì¿¡ »ç¿ë µÇ´Â Çü½ÄÀÌtext¡£
AddToSelectList
¼±Åà SQL ÀýÀ» ÀÛ¼ºÇÕ´Ï´Ù. À̰ÍÀº ²Ï °ðÀå ¾ÕÀ¸·Î DFX È£Ãâ ÇÏ ¿© ÁöÁ¤ µÈ ¿ À̸§Àº ´Ü¼øÈ÷ Ãß°¡ (" SELECT lt;column name>, ... ")¡£
BindField
-Áö±Ý±îÁö ´ëºÎºÐÀÇ ÀÛ¾÷ÀÇ º¹Àâ ÇÑ. µíÀÌ À̰ÍÀÌ GetRows ¿¡¼ »ç¿ë ÇÏ´Â DAO ¹ÙÀεù ±¸Á¶¸¦ ¼³Á¤ µË´Ï´Ù. DFX_Text Äڵ忡¼ º¼ ¼ö ÀÖ´Â Á¾·ùÀÇ Á¤º¸ ±¸Á¶¸¦ DAO À¯ÇüÀÌ Æ÷ÇÔ »ç¿ë (DAO_CHAR ¶Ç´Â DAO_WCHAR DFX_TextÀÇ °æ¿ì). ¶ÇÇÑ, »ç¿ë ÇÏ´Â ¹ÙÀεùÀÇ Á¾·ù´Â ¶ÇÇÑ ¼³Á¤ µË´Ï´Ù. ÀÌÀü ¼½¼Ç¿¡¼ GetRows ´Â °£·«ÇϰԸ¸ ¼³¸í Çß´Ù ÇÏÁö¸¸ MFC¿¡¼ »ç¿ë ÇÏ´Â ¹ÙÀεù À¯ÇüÀ» Á÷Á¢ ÁÖ¼Ò ¹ÙÀεù (DAOBINDING_DIRECT)Àº Ç×»ó ¼³¸í Çϱ⿡ ÃæºÐ Çß´Ù. ¶ÇÇÑ ( DFX_Text)¿Í °°Àº °¡º¯ ±æÀÌ ¿ ¹ÙÀεù MFC ¸Þ¸ð¸® ÇÒ´çÀ» Á¦¾î ÇÏ °í ¿Ã¹Ù¸¥ ±æÀÌÀÇ ÁÖ¼Ò¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÄÝ¹é ¹ÙÀεùÀÌ »ç¿ë µË´Ï´Ù. ÀÌ Àǹ̴ MFC°¡ DAO "where" µû¶ó¼ ¸â¹ö º¯¼ö¿¡ Á÷Á¢ ¹ÙÀεùÇÒ ¼ö ÀÖµµ·Ï µ¥ÀÌÅ͸¦ ³Ö¾î ¸»ÇÒ Ç×»ó ¼ö ÀÖ½À´Ï´Ù. ¹ÙÀεù ±¸Á¶ÀÇ ³ª¸ÓÁö ¸Þ¸ð¸® ÇÒ´ç Äݹé ÇÔ¼ö ÁÖ¼Ò ¿ ¹ÙÀεù (¹ÙÀεù ¿ À̸§)ÀÇ Á¾·ù °°Àº °Í µéÀ¸·Î °¡µæ¡£
BindParam
À̰ÍÀº ¸Å°³ º¯¼ö ¸â¹ö¿¡ ÁöÁ¤ µÈ ¸Å°³ º¯¼ö °ª°ú ÇÔ²² SetParamValue ¸¦ È£Ãâ ÇÏ´Â °£´ÜÇÑ ÀÛ¾÷¡£
¼öÁ¤
°¢ Çʵ忡 ´ë ÇÑ NULL »óÅ¿¡¼ ä¿ì±â¡£
SetFieldNull
ÀÌ ÀÛ¾÷¸¸ NULL ·Î °¢ ÇʵåÀÇ »óŸ¦ Ç¥½Ã ÇÏ °í PSEUDO_NULL À» ¸â¹ö º¯¼öÀÇ °ªÀ¸·Î ¼³Á¤¡£
SetDirtyField
°¢ Çʵ忡 ´ë ÇÑ È£Ãâ SetFieldValue ´õ·¯¿î Ç¥½Ã¡£
¸ðµç ³²Àº ÀÛ¾÷¸¸ µ¥ÀÌÅÍ Ä³½Ã¸¦ »ç¿ë ÇÏ ¿© ó¸® ÇÕ´Ï´Ù. µ¥ÀÌÅÍ Ä³½Ã´Â ƯÁ¤ °Í µéÀ» °£´Ü ÇÏ °Ô ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â ÇöÀç ·¹Äڵ忡 ÀÖ´Â µ¥ÀÌÅÍÀÇ Ãß°¡ ¹öÆÛÀÔ´Ï´Ù. ¿¹¸¦ µé¾î "´õ·¯¿î" Çʵå ÀÚµ¿À¸·Î °Ë»ö µÉ ¼ö ÀÖ½À´Ï´Ù. ¿Â¶óÀÎ ¼³¸í¼¿¡¼ ¼³¸íÇÑ ´ë·Î ¿ÏÀüÈ÷ ¶Ç´Â ÇÊµå ¼öÁØ¿¡¼ ÇØÁ¦ µÇ¾î ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Áöµµ »ç¿ë ÇÏ´Â ¹öÆÛÀÇ ±¸Çö. ÀÌ Áöµµ "¹Ù¿îµå" Çʵå (¶Ç´Â CDaoRecordset derieved µ¥ÀÌÅÍ ¸â¹ö)ÀÇ ÁÖ¼Ò¿Í ÇÔ²² µ¥ÀÌÅÍÀÇ µ¿ÀûÀ¸·Î ÇÒ´ç µÈ º¹»çº»À» ÀÏÄ¡ ½ÃŰ´Â µ¥ »ç¿ë¡£
AllocCache
µ¿ÀûÀ¸·Î ij½Ã µÈ ÇÊµå °ªÀ» ÇÒ´ç ÇÏ °í Áöµµ Ãß°¡¡£
FreeCache
ij½Ã µÈ ÇÊµå °ªÀ» »èÁ¦ ÇÏ °í Áöµµ¿¡¼ Á¦°Å¡£
StoreField
ÇöÀç ÇÊµå °ªÀÌ µ¥ÀÌÅÍ Ä³½Ã¿¡ º¹»ç¡£
LoadField
ij½Ã µÈ °ªÀÌ ÇÊµå ¸â¹ö¿¡ º¹»ç¡£
MarkForAddNew
ÇöÀç ÇÊµå °ªÀÌ ¾Æ´Ñ °æ¿ì È®ÀÎ-NULL ¹× ÇÊ¿äÇÑ °æ¿ì ´õ·¯¿î ¸¶Å©¡£
MarkForEdit
µ¥ÀÌÅÍ Ä³½Ã¸¦ »ç¿ë ÇÏ ¿© ÇöÀç ÇÊµå °ªÀ» ºñ±³ ÇÏ °í ÇÊ¿äÇÑ °æ¿ì ´õ·¯¿î Ç¥½Ã¡£
ÆÁnbsp;??»ç¿ëÀÚ Á¤ÀÇ DFX ·çƾ Ç¥ÁØ µ¥ÀÌÅÍ Çü½Ä¿¡ ´ë ÇÑ ±âÁ¸ DFX ·çƾ¿¡ ¸ðµ¨(&N)¡£
±â¼ú ³ëÆ® ¹øÈ£·Î |nbsp; Ä«Å×°í¸®º° ±â¼ú ³ëÆ®(&N)