33-1.¿¬°á

33-1-1.¿¬°á

ÀÌÁ¦ºÎÅÍ´Â ¼­¹ö¿Í ¿¬°áÇÏ¿© ¼­¹öÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿Í º¸ÀÚ. ½Ç¹«¿¡¼­´Â Áß¾ÓÀÇ DB ¼­¹ö°¡ µ¥ÀÌÅ͸¦ °ü¸®ÇÏ°í Ŭ¶óÀ̾ðÆ®´Â ¼­¹ö·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °ø±Þ¹Þ¾Æ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ºñ¿¬°áÇüÀÌ¶óµµ ÀÏ´ÜÀº ¼­¹öÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Í¾ß ÇϹǷΠ¿¬°áÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ Àå¿¡¼­´Â ¼­¹ö¿¡ ¿¬°áÇÏ°í ¼­¹öÀÇ µ¥ÀÌÅ͸¦ Äõ¸®ÇÏ´Â ¸í·É¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

Áö±Ý±îÁö ÁÙ°ð »ç¿ëÇØ¿Ô´ø DataSet, DataTable°ú Çà, ¿­, °ü°è µîÀÇ Å¬·¡½º´Â ºñ¿¬°áÇüÀ̾ °ø±ÞÀÚ¿¡ µ¶¸³ÀûÀ̾ú´Ù. ¸Þ¸ð¸®»ó¿¡¼­ µ¿ÀÛÇϱ⠶§¹®¿¡ °ø±ÞÀÚ¿¡ µû¶ó ´Þ¶óÁú ÀÌÀ¯°¡ ¾ø´Ù. ±×·¯³ª À̹ø ÀåºÎÅÍ ¼Ò°³Çϴ Ŭ·¡½º´Â ƯÁ¤ ¼­¹ö¿Í Á÷Á¢ Åë½ÅÇÏ´Â °ÍÀ̹ǷΠ°ø±ÞÀÚº°·Î ¸ðµÎ ´Ù¸£´Ù. À̸§ºÎÅÍ ´Þ¶óÁö´Âµ¥ ´ÙÇàÈ÷ °ø±ÞÀÚº°·Î ªÀº Á¢µÎ¾î¸¦ ºÙÀÌ´Â ¹æ½ÄÀ¸·Î ¸í¸í ±ÔÄ¢ÀÌ ÅëÀϵǾî ÀÖ¾î ¿Ü¿ì±â ½±´Ù.

 

°ø±ÞÀÚ

¿¬°á

¸í·É

¸®´õ

¾î´ðÅÍ

SQL

SqlConnection

SqlCommand

SqlDataReader

SqlDataAdapter

OLE DB

OleDbConnection

OleDbCommand

OleDbDataReader

OleDbDataAdapter

¿À¶óŬ

OracleConnection

OracleCommand

OracleDataReader

OracleDataAdapter

ODBC

OdbcConnection

OdbcCommand

OdbcDataReader

OdbcDataAdapter

 

¿¬°á, ¸í·É, ¸®´õ, ¾î´ðÅÍ°¡ ¿¬°áÇü ¹æ½ÄÀÇ ÁÖ¿ä Ŭ·¡½ºÀÌ´Ù. ÁÖ¿ä 4 Ŭ·¡½º ¿Ü¿¡ Parameter, CommandBuilder, Transaction µîÀÇ Å¬·¡½º¿¡µµ ¸¶Âù°¡Áö ¸í¸í ±ÔÄ¢ÀÌ Àû¿ëµÈ´Ù. ÀÎÅÍÆäÀ̽º ¼öÁØ¿¡¼­ ȣȯµÇ¹Ç·Î Çϳª¸¸ Á¦´ë·Î ÀÍÈ÷¸é ³ª¸ÓÁöµµ µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. SqlCommand¸¸ ¿Ïº®ÇÏ°Ô ¸¶½ºÅÍÇß´Ù¸é OleDbCommand³ª OracleCommand´Â °ÅÀú ¸Ô±â´Ù.

¹°·Ð ¼­¹ö¸¶´Ù ³ª¸§´ë·ÎÀÇ Àå´ÜÁ¡°ú °íÀ¯ÀÇ Æ¯Â¡ÀÌ ÀÖ°í ³»ºÎÀûÀÎ ±¸Çö ¹æ¹ýÀÌ »óÀÌÇϱ⠶§¹®¿¡ ¿Ïº®ÇÏ°Ô °°Áö´Â ¾Ê°í ¾à°£¾¿ÀÇ Â÷ÀÌ´Â ÀÖ´Ù. ¿¹¸¦ µé¾î SQL ¼­¹ö °ø±ÞÀÚ´Â Áßø Æ®·£Àè¼ÇÀ» Áö¿øÇÏÁö¸¸ ´Ù¸¥ °ø±ÞÀÚ´Â ±×·¸Áö ¸øÇϸç TableDirect ÇüÅÂÀÇ ¸í·ÉÀº OLE DB¸¸ Áö¿øÇÑ´Ù. ±×·¯³ª ÀÌ·± ¿¹´Â °í±Þ ±â´É¿¡ ÇÑÇؼ­ÀÏ »ÓÀ̸ç ÀϹÝÀûÀÎ °øÅëµÈ ±â´ÉÀº °ÅÀÇ µ¿ÀÏÇÏ´Ù.

4°¡Áö °ø±ÞÀÚÀÇ Â÷ÀÌÁ¡À» ÀÏÀÏÀÌ µû·Î °øºÎÇÒ ÇÊ¿ä´Â ¾øÀ¸¸ç ±×·¸°Ô °øºÎÇؼ­µµ ¾ÈµÈ´Ù. Çϳª¸¦ Á¦´ë·Î ÀÍÈ÷´Â °Íµµ ½±Áö ¾ÊÀºµ¥ µ¿½Ã¿¡ 4°³¸¦ ÀÍÈ÷´Â °ÍÀº ³Ê¹« Èûµé´Ù. ÀÚÁÖ »ç¿ëÇÏ´Â ÇϳªÀÇ °ø±ÞÀÚ¸¸ ÁýÁßÀûÀ¸·Î ¿¬±¸ÇØ µÎ¸é ³ª¸ÓÁö´Â Â÷ÀÌÁ¡À» È®ÀÎÇÏ´Â Á¤µµ¸¸ Çصµ ÃæºÐÈ÷ È°¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥¿¡¼­´Â SQL ¼­¹ö À§ÁÖ·Î ¿¬±¸¸¦ ÁøÇàÇϴµ¥ SQL ¼­¹öÀÇ °ø±ÞÀÚ°¡ ±â´É»ó °¡Àå ¿Ïº®ÇÏ¸ç ´Ù¸¥ °ø±ÞÀÚÀÇ ±â´É ´ëºÎºÐÀ» Æ÷°ýÇÏ´Â ½´ÆÛ¼ÂÀ̹ǷΠÁýÁßÀûÀ¸·Î ¿¬±¸ÇÒ °¡Ä¡°¡ ÃæºÐÇÏ´Ù.

¿¬°áÇüÀÇ Å¬·¡½º¸¦ ¼ø¼­´ë·Î ¿¬±¸ÇØ º¸µÇ ÀÏ´Ü ¼­¹ö¿Í ¿¬°áÇØ¾ß ¸í·ÉÀ» ³»¸± ¼ö ÀÖÀ¸¹Ç·Î ¿¬°á °´Ã¼¸¦ ¸ÕÀú ¾Ë¾Æº¸ÀÚ. ¿¬°áÀº µÚ¿¡ ~Connection À̸§ÀÌ ºÙÀº Ŭ·¡½º·Î °ü¸®Çϴµ¥ SQL ¼­¹öÀÇ °æ¿ì SqlConnection Ŭ·¡½º°¡ ¿¬°áÀ» ´ã´çÇÑ´Ù. »ý¼ºÀÚ´Â ´ÙÀ½ µÎ °¡Áö°¡ ÀÖ´Ù.

 

public SqlConnection ()

public SqlConnection (string connectionString)

 

¿¬°á ¹®ÀÚ¿­À» ÁöÁ¤Çϴµ¥ µðÆúÆ® »ý¼ºÀÚ·Î ÀÏ´Ü »ý¼ºÇÑ ÈÄ ÇÁ·ÎÆÛƼ·Î ¿¬°á ¹®ÀÚ¿­À» µû·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¬°á°ú °ü·ÃµÈ Á¤º¸¿Í ¿É¼ÇÀÌ ÇÁ·ÎÆÛƼ·Î Á¦°øµÈ´Ù.

 

ÇÁ·ÎÆÛƼ

ŸÀÔ

¼³¸í

ConnectionString

string

¿¬°á ¹®ÀÚ¿­ÀÌ´Ù.

ConnectionTimeout

int ¨Þ

¿¬°áµÉ ¶§±îÁöÀÇ ´ë±â ½Ã°£ÀÌ¸ç µðÆúÆ®´Â 15ÃÊÀÌ´Ù. ÀÌ ½Ã°£µ¿¾È ¿¬°áµÇÁö ¾ÊÀ¸¸é ¿¡·¯°¡ ¸®ÅϵȴÙ.

Database

string ¨Þ

¿¬°áµÈ µ¥ÀÌÅͺ£À̽º À̸§ÀÌ´Ù.

DataSource

string ¨Þ

¿¬°áµÈ SQL ServerÀÇ ÀνºÅϽº À̸§ÀÌ´Ù.

PacketSize

int ¨Þ

SQL ¼­¹ö¿Í Åë½ÅÇÒ ¶§ »ç¿ëÇÒ ÆÐŶÀÇ Å©±âÀÌ´Ù. µðÆúÆ®´Â 8192¹ÙÀÌÆ®ÀÌ´Ù.

ServerVersion

string ¨Þ

SQL ¼­¹öÀÇ ¹öÀü Á¤º¸¸¦ Á¶»çÇÑ´Ù.

State

ConnectionState ¨Þ

¿¬°áÀÇ ÇöÀç »óÅÂÀÌ´Ù. Open, Closed µîÀÌ ÀÖ´Ù.

 

µðÆúÆ®°¡ ¹«³­ÇØ Æ¯º°È÷ °Çµå¸± ÇÊ¿ä°¡ ¾øÀ¸¸ç ¿¬°á ¹®ÀÚ¿­¸¸ Àß ÀÛ¼ºÇÏ¸é µÈ´Ù. ¿¬°á ¹®ÀÚ¿­ ¿Ü¿¡´Â ¼­¹öÀÇ Á¤º¸¸¦ Á¶»çÇÏ´Â Àбâ Àü¿ë ÇÁ·ÎÆÛƼµéÀÌ´Ù. Á¦ÇÑ ½Ã°£, ¿¬°áÇÒ ¼­¹ö¸í µî¿¡ ´ëÇÑ Á¤º¸´Â ¸ðµÎ ¿¬°á ¹®ÀÚ¿­À» ÅëÇØ ÃʱâÈ­ÇÏ¸ç ½ÇÇàÁß¿¡ º¯°æÇÏ·Á¸é º°µµÀÇ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù. ´ÙÀ½Àº ¸Þ¼­µå ¸ñ·ÏÀÌ´Ù.

 

¸Þ¼­µå

¼³¸í

Open

¿¬°á ¹®ÀÚ¿­À» ÂüÁ¶ÇÏ¿© µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÑ´Ù. ½ÇÆнà ¿¹¿Ü°¡ ¹ß»ýÇÑ´Ù.

Close

¿¬°áÀ» ÇØÁ¦ÇÑ´Ù. ½ÇÇàÁßÀÎ Æ®·£Àè¼ÇÀÌ ÀÖÀ¸¸é ¸ðµÎ ·Ñ¹éµÈ´Ù.

BeginTransaction

»õ·Î¿î Æ®·£Àè¼ÇÀ» ½ÃÀÛÇÏ°í Transaction °´Ã¼¸¦ ¸®ÅÏÇÑ´Ù. Àμö·Î Æ®·£Àè¼ÇÀÇ À̸§À» ÁöÁ¤Çϰųª °Ý¸® ¼öÁØÀ» ¼³Á¤ÇÑ´Ù.

CreateCommand

¿¬°á °´Ã¼¿Í °ü·ÃµÈ ¸í·É °´Ã¼¸¦ »ý¼ºÇÑ´Ù.

ChangeDatabase

ÇöÀç µ¥ÀÌÅͺ£À̽º¸¦ º¯°æÇÑ´Ù.

 

Open ¸Þ¼­µå·Î ¿¬°áÇÏ°í Close ¸Þ¼­µå·Î ¿¬°áÀ» ²÷´Â´Ù. DB ¼­¹ö¿ÍÀÇ ¿¬°áÀº ³»ºÎÀÇ ÇÒ´çÀÌ ¾Æ´Ï¶ó ¿ø°ÝÁöÀÇ ¼­¹ö¿Í Åë½ÅÀ» ¼öÇàÇÏ´Â µ¿ÀÛÀ̹ǷΠ°¡ºñÁö Ä÷º¼ÇÀÇ ´ë»óÀÌ ¾Æ´Ï´Ù. ·±Å¸ÀÓÀÌ ÇØÁ¦¸¦ ÀÚµ¿À¸·Î ¼öÇàÇÏÁö ¾Ê¾Æ Á÷Á¢ ÇØ¾ß Çϸç Àý´ë »ý·«Çؼ­´Â ¾ÈµÈ´Ù. ¿¬°á¸¸ ÇØ ³õ°í ÇØÁ¦ÇÏÁö ¾ÊÀ¸¸é ¼­¹öÀÇ ÀÚ¿øÀÌ ³¶ºñµÈ´Ù.

À̺¥Æ®´Â ¿¬°á »óÅ°¡ º¯°æµÉ ¶§ ¹ß»ýÇÏ´Â StateChange¿Í ¼­¹ö·ÎºÎÅÍ °æ°í³ª Á¤º¸ ¸Þ½ÃÁö°¡ ¹ß»ýÇÒ ¶§¸¶´Ù ¹ß»ýÇÏ´Â InfoMessage µÎ °¡Áö°¡ ÀÖ´Ù. Àá½Ã ÈÄ ½Ç½À¿¡¼­ ÀÌ À̺¥Æ®¸¦ »ç¿ëÇØ º¼ °ÍÀÌ´Ù.

33-1-2.¿¬°á ¹®ÀÚ¿­

DB ¼­¹ö¿¡´Â Áß¿äÇÑ Á¤º¸°¡ ÀúÀåµÇ±â ¶§¹®¿¡ ¾Æ¹«³ª ¿¬°áÇÒ ¼ö ¾øÀ¸¸ç ÀÎÁõÀ» Åë°úÇØ¾ß Çϴµ¥ ÀϹÝÀûÀ¸·Î ID¿Í ºñ¹Ð¹øÈ£¸¦ »ç¿ëÇÑ´Ù. ±×·¯³ª Á» ´õ »ý°¢ÇØ º¸¸é ¿¬°á¿¡ ´õ ¸¹Àº Á¤º¸°¡ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ¾î¶² DB¿¡ Á¢¼ÓÇÒ °ÍÀÎÁö, ¼­¹ö¸í, ÀνºÅϽº ¸í, ÀÎÁõ ¸ðµå, Åë½Å ¹æ¹ý, ÆÄÀÏ °æ·Î, Äõ¸® ¿É¼Ç µîÀÇ ºÎ°¡ Á¤º¸°¡ ÀÖ¾î¾ß ÇÑ´Ù.

¹®Á¦´Â Á¢¼Ó¿¡ ÇÊ¿äÇÑ Á¤º¸°¡ ¼­¹ö¸¶´Ù ´Ù¸£´Ù´Â Á¡ÀÌ´Ù. DB ¼­¹öÀÇ ¿î¿µ ¹æ½ÄÀÌ ÅëÀϵǾî ÀÖÁö ¾Ê¾Æ ¿ä±¸ÇÏ´Â Á¤º¸µµ ´Ù¾çÇÒ ¼ö¹Û¿¡ ¾ø´Ù. Á¤º¸ÀÇ °³¼ö°¡ ¸¹´Ù´Â °Íº¸´Ù ´õ Å« ¹®Á¦´Â Á¤º¸ÀÇ Æ÷¸ËÀÌ ÀÏÁ¤Ä¡ ¾Ê´Ù´Â Á¡Àε¥ Á¦Àۻ纰·Î Á¤Ã¥ÀÌ ´Ù¸£´Ï ¾î¿ ¼ö ¾ø´Ù. ¿¬°á¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ÀϹÝÈ­ÇÒ ¼ö ¾øÀ¸¸ç µû¶ó¼­ ¿¬°á °´Ã¼ÀÇ »ý¼ºÀÚ Æ÷¸Ëµµ ¹Ì¸® Á¤ÇÒ ¼ö ¾ø´Ù.

±×·¡¼­ ¿¬°á¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ ÀϹÝÀûÀÎ Æ÷¸ËÀÎ ¹®ÀÚ¿­ ÇüÅ·ΠÁ¤ÀÇÇÑ °ÍÀÌ ¿¬°á ¹®ÀÚ¿­ÀÌ´Ù. "Å°=°ª" ÇüÅÂÀÇ ´ëÀÔ¹®À» ¼¼¹ÌÄÝ·ÐÀ¸·Î ±¸ºÐÇÏ¿© ¿©·¯ °³ ¸ð¾Æ ³õÀº °ÍÀ̸ç Á¢¼Ó¿¡ ÇÊ¿äÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù. Å°ÀÇ Á¾·ù´Â °ø±ÞÀÚ¸¶´Ù ´Ù¸£¸ç ¼­¹ö°¡ ¿ä±¸ÇÏ´Â Å°¸¦ ¹®¹ý¿¡ ¸Â°Ô ÀÛ¼ºÇØ¾ß ÇÑ´Ù. °ø±ÞÀÚ´Â ¿¬°á ¹®ÀÚ¿­·ÎºÎÅÍ ÇÊ¿äÇÑ Á¤º¸¸¦ ÃßÃâÇÏ¿© ¼­¹ö·Î Àü´ÞÇÑ´Ù. ´ÙÀ½Àº SQL ¼­¹ö °ø±ÞÀÚÀÇ ÁÖ¿ä Å° ¸ñ·ÏÀÌ´Ù.

 

Å°

µðÆúÆ®

¼³¸í

Data Source

¶Ç´Â Server

 

¿¬°áÇÒ SQL ¼­¹öÀÇ ÀνºÅϽº À̸§À» ÁöÁ¤ÇÑ´Ù. ·ÎÄà ÀνºÅϽº¸¦ ÁöÁ¤ÇÒ ¶§´Â (local)À̶ó°í Àû´Â´Ù. ¼­¹ö¸í¾Õ¿¡ ÇÁ·ÎÅäÄÝ Á¢µÎ¾î¸¦ ºÙÀÏ ¼ö ÀÖ°í ¼­¹ö¸í µÚ¿¡ Æ÷Æ® ¹øÈ£¸¦ ÁöÁ¤ÇÑ´Ù.

Initial Catalog

¶Ç´Â Database

 

ÃÖÃÊ Á¢¼ÓÇÒ µ¥ÀÌÅͺ£À̽ºÀÇ À̸§ÀÌ´Ù.

Integrated Security

¶Ç´Â

Trusted_Connection 

false

À©µµ¿ìÀÇ ÀÎÁõ ¸ðµå¸¦ »ç¿ëÇÑ´Ù. ÀÌ °ªÀÌ falseÀÌ¸é »ç¿ëÀÚ ID¿Í ¾ÏÈ£¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. true, yes, sspi µîÀº È¥ÇÕ¸ðµå¸¦ ¾²¸ç false, no´Â ¾²Áö ¾Ê´Â´Ù.

User ID

 

·Î±×ÀÎ °èÁ¤ÀÌ´Ù.

Password, Pwd

 

·Î±×ÀÎ °èÁ¤¿¡ ´ëÇÑ IDÀÌ´Ù.

Packet Size

8192

PacketSize ÇÁ·ÎÆÛƼ¿Í µ¿ÀÏÇÑ ÀǹÌÀÌ´Ù.

Connect Timeout

 

ConnectionTimeout ÇÁ·ÎÆÛƼ¿Í µ¿ÀÏÇÑ ÀǹÌÀÌ´Ù.

 

Å° À̸§¿¡ µ¿ÀǾ ´Ù¼ö Á¸ÀçÇÏ¸ç °ª¿¡µµ µ¿ÀǾ ¸¹¾Æ º¹ÀâÇÏ´Ù. ÀÚÁÖ ¾²´Â ÀϺΠ۸¸ º¸¿´´Âµ¥ Àüü Å° ¸ñ·Ï°ú ´Ù¸¥ °ø±ÞÀÚÀÇ Å° ¸ñ·ÏÀº ·¹ÆÛ·±½º¸¦ ÂüÁ¶Çϱ⠹ٶõ´Ù. ¾Æ´Ï¸é ¿¹Á¦ÀÇ ¿¬°á ¹®ÀÚ¿­À» Á¶±Ý¾¿ º¯ÇüÇؼ­ ¾²´Â °Íµµ ±¦ÂúÀº ¹æ¹ýÀÌ´Ù. ¿¬°á ¹®ÀÚ¿­ÀÇ °¢ Å°¿¡ Àû´çÈ÷ °ªÀ» ´ëÀÔÇÏ°í Open ¸Þ¼­µå¸¦ È£ÃâÇÏ¸é ¿¬°áµÈ´Ù. ´ÙÀ½ ÄÚµå´Â ·ÎÄà ¼­¹öÀÇ ADOTest DB¿¡ ¿¬°áÇÏ´Â °£·«ÇÑ ¿¹ÀÌ´Ù.

 

Con = new SqlConnection();

Con.ConnectionString = "Server=(local);database=ADOTest;" +

         "Integrated Security=true";

try {

         Con.Open();

}

catch (Exception ex) {

         MessageBox.Show(ex.Message);

}

....

Con.Close();

 

¿ÜºÎÀÇ ¼­¹ö¿Í ¿¬°áÇÏ´Â °ÍÀ̹ǷΠ¿©·¯ °¡Áö ÀÌÀ¯·Î ½ÇÆÐÇÒ ¼ö ÀÖ´Ù. ¿¬°á ¹®ÀÚ¿­ÀÌ Æ²·ÈÀ¸¸é ´ç¿¬È÷ ¿¬°áÇÏÁö ¸øÇÏ¸ç ±ÇÇÑÀÌ ¾ø´Ùµç°¡ ¾ÏÈ£°¡ Ʋ·Á °ÅºÎµÉ ¼öµµ ÀÖ´Ù. ¿ø°ÝÁöÀÇ ¼­¹ö´Â ³×Æ®¿÷ ¼±ÀÌ ²÷¾îÁ³´Ù°Å³ª ÃÖ´ë ¶óÀ̼¾½º ÃÊ°ú µîÀÇ ÀÌÀ¯·Î ½ÇÆÐÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ¿¹¿Ü 󸮰¡ ¹Ýµå½Ã ÇÊ¿äÇϸç Open ¸Þ¼­µå È£Ãâ¹®À» try ºí·ÏÀ¸·Î °¨½Õ´Ù.

¿¬°á»Ó¸¸ ¾Æ´Ï¶ó ¸í·É ½ÇÇàÁß¿¡µµ ¿¹¿Ü´Â ¾ðÁ¦µçÁö ¹ß»ýÇÒ ¼ö ÀÖÀ¸¸ç ¿¹¿Ü°¡ ¹ß»ýÇÒ¸¸ÇÑ ÄÚµå´Â Ç×»ó tryºí·ÏÀ¸·Î °¨½Î´Â °ÍÀÌ ¿øÄ¢ÀÌ´Ù. ±×·¯³ª ¿¹Á¦¿¡¼­´Â ¼Ò½º°¡ ±æ¾îÁö°í ÇÙ½É Äڵ尡 Àß ¾È º¸¿© ÆíÀÇ»ó ¿¹¿Ü ó¸® Äڵ带 »ý·«Çϱâ·Î ÇÑ´Ù. Open È£ÃâÀÌ ¼º°øÇßÀ¸¸é ¼­¹ö¿Í ¿¬°áµÈ °ÍÀ̹ǷΠÀÌÈÄ ¼­¹ö¿¡°Ô ¸í·ÉÀ» º¸³¾ ¼ö ÀÖ´Ù. ¿¬°áÀº °¡ºñÁö Ä÷º¼Ç ´ë»óÀÌ ¾Æ´Ï¹Ç·Î »ç¿ëÀÌ ³¡³­ ÈÄ ¹Ýµå½Ã Close³ª Dispose¸¦ È£ÃâÇÏ¿© ¸í½ÃÀûÀ¸·Î ´Ý¾Æ¾ß ÇÑ´Ù. Àá½Ã ¿¬°áÇÑ´Ù¸é using ºí·ÏÀ» ¾²´Â °ÍÀÌ ÁÁ´Ù.

SQL ¼­¹öÀÇ ¿¬°á ¹®ÀÚ¿­Àº ÃÖ¼ÒÇÑ ¼­¹ö¸í, DB¸í, ÀÎÁõ ¸ðµå ¼¼ °¡Áö°¡ ÇÊ¿äÇÏ´Ù. À§ Äڵ忡¼­´Â À©µµ¿ì ÅëÇÕ ÀÎÁõ ¸ðµå¸¦ »ç¿ëÇÏ¿© ÇöÀç ·Î±äÇÑ »ç¿ëÀÚÀÇ ID·Î ÀÎÁõÀ» ¹Þ¾Ò´Âµ¥ ·ÎÄà ¼­¹ö¿¡¼­´Â ÀÌ ¹æ¹ýÀÌ °¡Àå °£ÆíÇÏ´Ù. ¸¸¾à À©µµ¿ì ÀÎÁõ ¸ðµå°¡ ¾Æ´Ï¶ó¸é »ç¿ëÀÚÀÇ °èÁ¤°ú ID¸¦ ÁöÁ¤ÇÏ¿© Á¢¼ÓÇØ¾ß ÇÑ´Ù.

 

Con.ConnectionString = "Server=(local);database=ADOTest;User ID=sa;Pwd=";

 

±×·¯³ª ¾ÏÈ£¸¦ ¿¬°á ¹®ÀÚ¿­¿¡ ³Ö¾î ¹ö¸®¸é ½Ã½ºÅÛ »óȲ¿¡ µû¶ó ½ÇÇà ¿©ºÎ°¡ °áÁ¤µÇ´Â ¹®Á¦°¡ ÀÖ°í ¾ÏÈ£°¡ ³ëÃâµÇ¾î ¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ¸¸ç ±ÇÀåµÇÁöµµ ¾Ê´Â´Ù. °¡±ÞÀûÀ̸é À©µµ¿ìÀÇ ÅëÇÕ º¸¾ÈÀ» »ç¿ëÇÏ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù.

33-1-3.¿¬°áÀÇ À̺¥Æ®

ÀÌÁ¦ ½ÇÁ¦ ¼­¹ö¿¡ ¿¬°áÇØ º¸°í °ü·Ã À̺¥Æ®¸¦ ó¸®ÇØ º¸ÀÚ. StateChange À̺¥Æ®´Â State ÇÁ·ÎÆÛƼÀÇ °ªÀÌ ¹Ù²ð ¶§¸¶´Ù Áï, ¿¬°á »óÅ°¡ ¹Ù²ð ¶§¸¶´Ù Àü´ÞµÈ´Ù. Àμö °´Ã¼¿¡´Â ÀÌÀü »óŸ¦ ³ªÅ¸³»´Â OriginalState¿Í ÇöÀç »óŸ¦ ³ªÅ¸³»´Â CurrentState°¡ Æ÷ÇԵǾî ÀÖ´Ù. ÀÌ µÎ °ªÀ» ÀÐÀ¸¸é ¿¬°á °´Ã¼ÀÇ ÇöÀç »óŸ¦ ¾Ë ¼ö ÀÖ´Ù.

InfoMessage À̺¥Æ®´Â SQL ¼­¹ö·ÎºÎÅÍ °æ°í³ª Á¤º¸ ¸Þ½ÃÁö°¡ ¸®Å쵃 ¶§ ¹ß»ýÇÑ´Ù. ½É°¢µµ 10 ÀÌÇÏÀÇ °æ¹ÌÇÑ °æ°í´Â ´Ü¼øÇÑ Âü°í Á¤º¸ÀÏ »ÓÀ̾ ¹«½ÃÇصµ Å« »ó°üÀº ¾ø´Ù. ½É°¢µµ 11 ÀÌ»óÀº ¿¡·¯¸¦ ¹ß»ý½ÃÅ°°í 20 ÀÌ»óÀº ¾Æ¿¹ ¿¬°áÀ» ´Ý¾Æ ¹ö¸°´Ù. À̺¥Æ®ÀÇ Àμö·Î´Â ¸Þ½ÃÁö ¹®ÀÚ¿­°ú ¹ß»ýÇÑ ¿¡·¯ÀÇ Ä÷º¼ÇÀÌ Àü´ÞµÈ´Ù.

´ÙÀ½ ¿¹Á¦´Â SQL ¼­¹öÀÇ ADOTest DB¿¡ ¿¬°áÇÏ°í µÎ °³ÀÇ À̺¥Æ®¸¦ ó¸®ÇÑ´Ù. Æû¿¡´Â ¿¬°á°ú ÇØÁ¦¸¦ À§ÇÑ ¹öÆ°°ú ÇöÀç »óŸ¦ Ãâ·ÂÇϱâ À§ÇÑ ¸®½ºÆ® ¹Ú½º°¡ ¹èÄ¡µÇ¾î ÀÖ´Ù. ´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ ÀÌ ¿¹Á¦°¡ Á¦´ë·Î ½ÇÇàµÇ·Á¸é ·ÎÄÿ¡ SQL ¼­¹ö°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß Çϸç ADOTest µ¥ÀÌÅͺ£À̽º°¡ Á¸ÀçÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾Ê´Ù¸é Áö±Ý Èĵü SQL ¼­¹ö¸¦ ¼³Ä¡ÇÏ°í ¾Õ ÀåÀ» ÂüÁ¶ÇÏ¿© ¿¹Á¦ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏÀÚ.

 

ConnectionEvent

using System; ~ using System.Windows.Forms;

using System.Data.SqlClient;

 

namespace ConnectionEvent {

             public partial class Form1 : Form {

                           private SqlConnection Con;

 

                           public Form1() {

                                        InitializeComponent();

                           }

 

                           private void Form1_Load(object sender, EventArgs e) {

                                        Con = new SqlConnection();

                                        Con.ConnectionString = "Server=(local);database=ADOTest;" +

                                                     "Integrated Security=true";

                                        Con.StateChange += new StateChangeEventHandler(Con_StateChange);

                                        Con.InfoMessage += new SqlInfoMessageEventHandler(Con_InfoMessage);

                           }

 

                           void Con_InfoMessage(object sender, SqlInfoMessageEventArgs e) {

                                        listBox1.Items.Add(e.Message);

                           }

 

                           void Con_StateChange(object sender, StateChangeEventArgs e) {

                                        string Mes;

                                        Mes = string.Format("¿ø·¡ »óÅÂ : {0}, ÇöÀç »óÅÂ {1}",

                                                     e.OriginalState, e.CurrentState);

                                        listBox1.Items.Add(Mes);

                           }

 

                           private void btnConnect_Click(object sender, EventArgs e) {

                                        try {

                                                     Con.Open();

                                        }

                                        catch (Exception ex) {

                                                     MessageBox.Show(ex.Message);

                                        }

                           }

 

                           private void btnClose_Click(object sender, EventArgs e) {

                                        if (Con.State == ConnectionState.Open) {

                                                     Con.Close();

                                        }

                           }

 

                           private void Form1_FormClosed(object sender, FormClosedEventArgs e) {

                                        if (Con.State == ConnectionState.Open) {

                                                     Con.Close();

                                        }

                           }

             }

}

 

System.Data.SqlClient ³×ÀÓ½ºÆäÀ̽º¿¡ ´ëÇÑ using ¼±¾ðÀ» ÇÑ´Ù. °ø±ÞÀÚº° ³×ÀÓ½ºÆäÀ̽º ¼±¾ðÀº Á÷Á¢ ÇØ¾ß ÇÑ´Ù. Form1_Load À̺¥Æ®¿¡¼­ ¿¬°á °´Ã¼¸¦ »ý¼ºÇÏ°í ¿¬°á ¹®ÀÚ¿­À» Á¤ÀÇÇß´Ù. ±×¸®°í À̺¥Æ® Å×½ºÆ®¸¦ À§ÇØ À̺¥Æ® Çڵ鷯µµ µî·ÏÇß´Ù. ÆûÀÇ ¿¬°á ¹öÆ°À» ´©¸£¸é ¿¬°áÇÏ°í ÇØÁ¦ ¹öÆ°À» ´©¸£¸é ¿¬°áÀÌ ´ÝÈù´Ù. À̺¥Æ® Çڵ鷯¿¡¼­´Â À̺¥Æ® ¹ß»ý »ç½Ç¸¸ ¸®½ºÆ® ¹Ú½º·Î Ãâ·ÂÇÑ´Ù.

µÎ ¹öÆ°À» ¹ø°¥¾Æ ´­·¯º¸¸é ¿¬°á°ú ÇØÁ¦°¡ Àß µÈ´Ù. ¾ÆÁ÷ ¿¬°á¸¸ ÇßÁö Äõ¸®¸¦ ³¯¸°´Ù°Å³ª µ¥ÀÌÅ͸¦ ÆíÁýÇÏ´Â ±¸Ã¼ÀûÀÎ ¸í·ÉÀ» ³»¸®Áö´Â ¾Ê¾ÒÀ¸¹Ç·Î InfoMessage À̺¥Æ®´Â ÀüÇô ¹ß»ýÇÏÁö ¾Ê´Â´Ù.

¿¬°áÇÒ ¶§ ƯÁ¤ÇÑ µ¿ÀÛÀ» ÇÏ°í ½Í´Ù¸é StateChange À̺¥Æ®¿¡ Äڵ带 ÀÛ¼ºÇÏ¸é µÇ´Âµ¥ »ç½Ç ÀÌ À̺¥Æ®´Â »ç¿ëÇÒ ÀÏÀÌ °ÅÀÇ ¾ø´Ù. ¿¬°á°ú ÇØÁ¦´Â ÀÚÁÖ ÀÖ´Â ÀÏÀÌ ¾Æ´Ï°í º¸Åë ½ÃÀÛÇÒ ¶§ µü ÇÑ ¹ø ¿­°áÇÒ »ÓÀÌ´Ù. ¿¬°á°ú µ¿½Ã¿¡ ²À ÇØ¾ß ÇÒ ÀÏÀÌ ÀÖÀ¸¸é À̺¥Æ®¸¦ ¹Þ´Â °Íº¸´Ù Open ¸Þ¼­µå È£Ãâ Á÷ÈÄ¿¡ ÇÏ´Â °ÍÀÌ ´õ °£ÆíÇÏ´Ù.