[VisualBasic]VB ÀÌ¿ëÇÑ ÇÁ·Î±×·¥ ÀÛ¼º½Ã ¼Óµµ¸¦ ºü¸£°Ô ÇÏ·Á¸é?
±Û¾´ÀÌ: GameCreation Á¶È¸¼ö : 24 04.01.17 11:34 Áú¹®
VB¸¦ ÀÌ¿ëÇÏ¿© ¸¹Àº µ¥ÀÌÅ͸¦ °¡Á®¿Í º¸¿©ÁÖ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í ÀÖ´Ù. ¼Óµµ°¡ »ó´çÈ÷ ´À¸° ÆíÀε¥, ºü¸£°Ô ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Ë°í ½Í´Ù.
ÀÌ¿Í °°Àº ¹®Á¦´Â Á¤´äÀÌ ¾ø´Â °æ¿ì°¡ ¸¹´Ù. ±×¸¸Å »óȲ¿¡ µû¶ó¼ ÇØ°áÃ¥ÀÌ ´Þ¶óÁö±â ¶§¹®ÀÌ´Ù. ÀϹÝÀûÀ¸·Î º¼ ¶§ ¸ÕÀú SQLÀ» °ËÅäÇÏ¿© À߸ø ÀÛ¼ºµÈ °ÍÀÌ ¾Æ´ÑÁö, ȤÀº ¼º´ÉÀÌ ³ª»Ú°Ô ÀÛ¼ºÀÌ µÇ¾ú´ÂÁö È®ÀÎÇÏ°í, ÇÊ¿ä¿¡ µû¶ó ÀçÀÛ¼ºÀ» ÇØ¾ß ÇÑ´Ù. ¿À¶óŬÀ̶ó¸é ÈùÆ®¸¦ »ç¿ëÇѴٰųª À妽º¸¦ »õ·Î ¸¸µå´Â µîÀÇ ÀÛ¾÷À» ÇÑ´Ù. SQLÀÌ ÃÖÀûȵǾî ÀÖ´Ù¸é, ´õ ÀÌ»ó ºü¸£°Ô ¸¸µç´Ù´Â °ÍÀº °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù. Â÷¶ó¸® ¼¹öÀÇ ½ºÆåÀ» ³ôÀ̰ųª ³×Æ®¿öÅ©ÀÇ ´ë¿ªÆøÀ» ³ôÀÌ´Â µîÀÇ ÀÛ¾÷ÀÌ ´õ À¯¿ëÇÒ ¼ö ÀÖ´Ù.
±×·¡µµ VB¿¡¼ Á¶±ÝÀ̳ª¸¶ ¼º´ÉÀ» ³ôÀϼö ÀÖ´Â ÆÁ µÎ °¡Áö¸¦ ¾Ë¾Æº¸±â·Î ÇÏÀÚ. ¹°·Ð À̵é ÆÁÀ» Àû¿ëÇÏ´Â °Í¸¸À¸·Î ¼º´ÉÀÌ ÃæºÐÈ÷ Çâ»óµÉ ¼ö´Â ¾øÀ¸¸ç SQL ÃÖÀûÈ¿Í ÇÔ²² ¼öÇàÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ÀØÁö ¸»ÀÚ.
ù°´Â EOF¸¦ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. ¾Æ·¡ ¿¹¸¦ º¸ÀÚ.
While (Not rs.EOF)
(ÄÚµå......)
End While
¾Æ¸¶µµ À§ÀÇ ¿¹´Â DB¿¡¼ °¡Á®¿Â °á°ú¸¦ º¸¿©Áְųª ÇÒ ¶§ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ýÀÏ °ÍÀÌ´Ù. ±×·±µ¥ ¸Å¹ø EOF¸¦ üÄÚÇÏ´Â °ÍÀº »ç½Ç »ó´çÈ÷ ºÎÇÏ°¡ °É¸®´Â ÀÛ¾÷ÀÌ´Ù. ´ÙÀ½ ·¹Äڵ带 È®ÀÎÇÏ¿© ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ üũÇϱ⠶§¹®ÀÌ´Ù. ÀÌ º¸´Ù Á»´õ ¼º´ÉÀÌ ³ªÀº ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
Dim i as Integer
While (I < rs.RecordCount)
(ÄÚµå......)
i = i + 1
End While
ÇÑ ¹ø SQLÀÌ ½ÇÇàµÇ¸é Record Count°¡ ¼³Á¤ÀÌ µÇ°í ÀÌ°ªÀº ·¹Äڵ弼Ʈ¸¦ ´Ý±â Àü±îÁö´Â º¯ÇÏÁö ¾Ê°Ô µÈ´Ù. µû¶ó¼ À§¿Í °°ÀÌ ¼öÇàÇÏ¸é ¸Å¹ø º°µµÀÇ ¿¬»ê(EOFÀÎÁö È®ÀÎÇÏ´Â µî)À» ¼öÇàÇÏÁö ¾ÊÀ¸¸ç ¼³Á¤µÇ¾î ÀÖ´Â °ª¸¸À» °¡Á® ¿À¹Ç·Î ¿ùµîÈ÷ ¼Óµµ°¡ »¡¶óÁø´Ù. ¹°·Ð ´õ È®½ÇÇÏ°Ô Çϱâ À§Çؼ´Â While Àü¿¡ RecordCount¸¦ º°µµÀÇ º¯¼ö¿¡ ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ÆÁÀÇ Áß¿äÇÑ Á¡Àº µ¿ÀûÀ¸·Î üũÇÏ´Â ºÎºÐÀº °¡´ÉÇÏ¸é ¾ø¾Ö°í Á¤ÀûÀÎ °ªÀ̳ª »ó¼ö¿Í ºñ±³Çϵµ·Ï Äڵ带 ÀÛ¼ºÇÏ¸é ºü¸£°Ô ½ÇÇàÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ¿Í °°Àº ½ÄÀ¸·Î ±¸ÇöÇÑ ¿¹°¡ ¾ø´ÂÁö ¹Ýµå½Ã È®ÀÎÇØ º¸ÀÚ.
µÑ°´Â ¸Þ¸ð¸®¿Í °ü·ÃµÈ °ÍÀÌ´Ù. ¸Þ¸ð¸® Á¡À¯À²ÀÌ ³ô¾ÆÁö¸é ±×¸¸Å ¾ÖÇø®ÄÉÀ̼ÇÀÌ ´À·ÁÁö´Â °ÍÀº ´ç¿¬ÇÏ´Ù. ¾Æ·¡ ¿¹¸¦ º¸ÀÚ.
Dim rs as New ADODB.recordset
À§¿Í °°ÀÌ ¼±¾ðÇÑ °æ¿ì´Â Á¤È®È÷ ¸»Çؼ ¼±¾ð°ú ÃʱâÈ°¡ ÇÔ²² ÀÌ·ç¾îÁø´Ù. Áï DimÀ» ÅëÇØ rs¶ó´Â °´Ã¼¸¦ ¼±¾ðÇÏ°í, ÀÌ°ÍÀ» ÃʱâÈ ÇÑ °ÍÀÌ´Ù. ÀÌ¿Í °°Àº ¹æ½ÄÀº VBÀÇ ¹ö±×·Î ÀÎÇØ ¸Þ¸ð¸® ´©½º(leak)À» ¹ß»ý½ÃŲ´Ù°í ÇÑ´Ù. µû¶ó¼ ´ÙÀ½°ú °°ÀÌ ÇÏ´Â °ÍÀÌ ´õ È¿À²ÀûÀÌ´Ù.
Dim rs as ADODB.recordset
Set rs = New ADODB.recordset
¼±¾ð°ú ÃʱâÈ´Â º°µµ·Î ÀÛ¼ºÇÏ´Â °ÍÀÌ È¿À²ÀûÀÓÀ» ÀØÁö ¸»ÀÚ. ±×¸®°í ÀÌ¿Í °°ÀÌ ÀÛ¼ºµÈ °´Ã¼µéÀº »ç¿ëÀÌ ³¡³ ½ÃÁ¡¿¡¼ ¡®Set rs = nothing'°ú °°ÀÌ ÇØÁ¦ÇØ ÁÖ´Â °ÍÀ» ÀØÁö ¸»ÀÚ.
|