ÀÌÁ¦ºÎÅÍ´Â ¼¹ö¿Í ¿¬°áÇÏ¿© ¼¹öÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿Í º¸ÀÚ. ½Ç¹«¿¡¼´Â
Áß¾ÓÀÇ 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 µÎ °¡Áö°¡ ÀÖ´Ù. Àá½Ã ÈÄ ½Ç½À¿¡¼ ÀÌ À̺¥Æ®¸¦ »ç¿ëÇØ º¼ °ÍÀÌ´Ù.
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=";
±×·¯³ª ¾ÏÈ£¸¦ ¿¬°á ¹®ÀÚ¿¿¡ ³Ö¾î ¹ö¸®¸é ½Ã½ºÅÛ »óȲ¿¡ µû¶ó ½ÇÇà ¿©ºÎ°¡ °áÁ¤µÇ´Â ¹®Á¦°¡ ÀÖ°í ¾ÏÈ£°¡ ³ëÃâµÇ¾î
¹Ù¶÷Á÷ÇÏÁö ¾ÊÀ¸¸ç ±ÇÀåµÇÁöµµ ¾Ê´Â´Ù. °¡±ÞÀûÀ̸é À©µµ¿ìÀÇ ÅëÇÕ º¸¾ÈÀ» »ç¿ëÇÏ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù.
ÀÌÁ¦ ½ÇÁ¦ ¼¹ö¿¡ ¿¬°áÇØ º¸°í °ü·Ã À̺¥Æ®¸¦ ó¸®ÇØ º¸ÀÚ.
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 ¸Þ¼µå È£Ãâ Á÷ÈÄ¿¡ ÇÏ´Â °ÍÀÌ ´õ °£ÆíÇÏ´Ù.