ADO.NET¤Ç¤ÎÃí°Õ
ºòǯ½Õ¤´¤í¤«¤é¡¢SQL Server ¤ò»È¤Ã¤Æ¥µ¡¼¥Ð¡¼¥¢¥×¥ê¤ò¹½ÃÛ¤·¤Æ¤¤¤Þ¤¹¡£
ÉáÃʤϥ¯¥é¥¤¥¢¥ó¥È¥µ¡¼¥Ð¡¼Êý¼°¤Ç¡¢¥µ¡¼¥Ð¡¼¤Ï¥ª¥é¥¯¥ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¤ß¤òÀßÃÖ¤¹¤ë¤è¤¦¤ÊÊý¼°¤ò¤È¤ë¤Î¤Ç¤¹¤¬¡¢
¤³¤Î°Æ·ï¤Ç¤Ï SQL Server ¤ò»ÈÍѤ·¡¢¥µ¡¼¥Ð¡¼Â¦¤Ç½èÍý¤ò¤¹¤ë¥×¥í¥°¥é¥à¤È¤Ê¤ë¤Î¤Ç¡¢Á´Á³Êý¼°¤¬°ã¤¤¤Þ¤¹¡£
¤Þ¤º¤Ï¡¢¥µ¡¼¥Ð¡¼¤Î¥×¥í¥°¥é¥à¤Ï¥µ¡¼¥Ó¥¹¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¥µ¡¼¥Ó¥¹¤È¤Ï¡¢Windows¤¬µ¯Æ°¤¹¤ë¤ÈƱ»þ¤ËÆ°ºî¤¹¤ë¤è¤¦¤ËÀßÄꤵ¤ì¤¿¥×¥í¥°¥é¥à¤Ç¤¹¤¬¡¢¥á¥Ë¥å¡¼¤Ë¤¢¤ë¥¹¥¿¡¼¥È¥¢¥Ã¥×
¤Ê¤É¤È°ã¤¤¡¢¥Ç¥¹¥¯¥È¥Ã¥×¤òɽ¼¨¤·¤Ê¤¯¤Æ¤âÆ°ºî¤¹¤ëÆâÉô¥×¥í¥°¥é¥à¤Ç¤¹¡£
¤â¤·¥µ¡¼¥Ð¡¼¤¬ºÆµ¯Æ°¤·¤¿¤È¤¤Ç¤â²èÌÌ¤Ë¥í¥°¥ª¥ó¤·¤Ê¤¯¤Æ¤âÆ°ºî¤¹¤ë¤Î¤ÇÊØÍø¤Ç¤¹¡£
¤È¤¤¤¦¤è¤ê¡¢¥µ¡¼¥Ó¥¹¤Ë¤·¤Ê¤¤¤È¤½¤â¤½¤â»È¤¤Êª¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
¤³¤Î¾ì¹ç¡¢½èÍý¤Ë¥¹¥ì¥Ã¥É¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£
¥¹¥ì¥Ã¥É¤ò»ÈÍѤ¹¤ë¤È¤è¤¤¤è¤¦¤Ë»×¤¨¤Þ¤¹¤¬¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥¢¥¯¥»¥¹¿ô¤¬³ÎÄê¤Ç¤¤Ê¤¤¤â¤Î¤Ê¤Î¤Ç¡¢¤¤¤¯¤é¤Ç¤â¥¹¥ì¥Ã¥É¤Ç
Í×µá¤ò¼õ¤±ÉÕ¤±¤ë¤Î¤ÏÂçÊÑ´í¸±¤Ç¤¹¡£
¤Ç¤¹¤Î¤ÇÄ̾ï¤Î¥¤¥Ù¥ó¥È¥É¥ê¥Ö¥ó¤Ç¥Þ¥ë¥ÁŪ¤ËÆ°ºî¤¹¤ë»ÅÁȤߤˤʤê¤Þ¤¹¡£
Ʊ»þ¤ËƱ¤¸¥ì¥³¡¼¥É¤Ø¤Î¥¢¥¯¥»¥¹¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï¡¢¤½¤ì¤¬¸¶°ø¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÉÔÀ°¹ç¤¬È¯À¸¤¹¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
ÉÔÀ°¹ç¤ÎȯÀ¸¤¹¤ë¸¶°ø¤È¤·¤Æ¤Ï
¡¡£±¡¥¥ì¥³¡¼¥ÉÈÖ¹æ¤Ê¤É¤Î¥æ¥Ë¡¼¥¯¥¡¼¤¬½ÅÊ£¤¹¤ë
¡¡£²¡¥Æ±°ì¥ì¥³¡¼¥É¤Î¹¹¿·½èÍý¤¬¤«¤Ö¤ë
¤È¤¤¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¤¬¡¢²óÈòÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
£±¤Ï¡¢SQL Server¤Ç¤¢¤ì¤Ð¡¢IDENTITY ¤È¤¤¤¦¥×¥í¥Ñ¥Æ¥£¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤ì¤ò»ÈÍѤ·¤ÆINSERT¤·¤¿¤È¤¤ËOUTPUT¤ÇÄɲä·¤¿ÈÖ¹æ¤ò¼èÆÀ¤¹¤ëÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¤â¤·¤³¤ì¤Ï¥ª¥é¥¯¥ë¤Ç¤¢¤ì¤Ð¡¢SEQUENCE¤ò»È¤¦ÊýË¡¤È¤«¡¢SELECT - FOR UPDATE ¤Ê¤É¤ò»È¤Ã¤Æ¥ì¥³¡¼¥É¾ðÊó¤ò´ÉÍý¤¹¤ë¤³¤È¤Ç²óÈò¤¬²Äǽ¤Ç¤¹¡£
¤³¤¦¤¤¤¦¥ª¥×¥·¥ç¥ó¤ÏSQL Server¤Ë¤Ï¤Ê¤¯¡¢¤ä¤Ï¤ê¥ª¥é¥¯¥ë¤ÏÊØÍø¤À¤È»×¤¤¤Þ¤·¤¿¡£
£²¤Ï¡¢½èÍýŪ¤ËƱ¤¸¥ì¥³¡¼¥É¤Î¥Ç¥Ã¥É¥í¥Ã¥¯¤¬¤«¤«¤ë½èÍý¤¬È¯À¸¤·¤Ê¤¤¤è¤¦¤ÊÀ߷פˤ·¤Þ¤¹¡£
Æä˥µ¡¼¥Ð¡¼¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¤½¤Î¥×¥í¥°¥é¥à£±¤Ä¤À¤±¤Ç¥Ç¥Ã¥É¥í¥Ã¥¯¤¬¤«¤«¤ë¤Î¤ÇÈó¾ï¤ËÌñ²ð¤Ê¤Î¤Ç¡¢ÀäÂФËȯÀ¸¤·¤Ê¤¤¤è¤¦¤Ê¹½Â¤¤¬É¬ÍפǤ¹¡£
¤È¡¢¤³¤Î¤è¤¦¤Ë½èÍý¤òºîÀ®¤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤âÆ°¤¤¬¤¢¤ä¤·¤¤¤È¤³¤í¤¬½Ð¤Æ¤¤Þ¤·¤¿¡£
¤½¤¦¤·¤Æ¿§¡¹¤È²òÀϤ·¤Æ¤¤¤ë¤¦¤Á¤Ë¡¢¤¢¤ë½ÅÂç¤Ê¤³¤È¤Ëµ¤¤¬¤Ä¤¤Þ¤·¤¿¡£
DataReader¤Ï¡¢1¤Ä¤Î¥³¥Í¥¯¥È¤ËÂФ·¤Æ£±¤Ä¤·¤«»ÈÍѤǤ¤Ê¤¤¤È¤¤¤¦À©Ì󤬤¢¤ê¤Þ¤¹¡£
¤Õ¤Ä¤¦¤Î¥¯¥é¥¤¥¢¥ó¥È¥¢¥×¥ê¤Ç¤ÏÌäÂê¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¥Þ¥ë¥Á¤ÇÆ°ºî¤¹¤ë¥µ¡¼¥Ð¡¼Â¦¥¢¥×¥ê¤Ê¤É¤Ç¤Ï¡¢Â¾¤Î½èÍý¤ÇDataReader¤Ç½èÍý¤ò¤·¤Æ¤¤¤ëºÇÃæ¤Ë¡¢Ê̤ÎdataReader¤ÏÆ°ºî¤Ç¤¤Þ¤»¤ó¡£¡¡¡Ê¤¤¤Ã¤¿¤ó¥¯¥í¡¼¥º¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤Î¤Ç¤¹¡ª¡Ë
Íýͳ¤Ï´Êñ¤Ç¡¢DataReader¤Ï¸½ºß¤è¤ß¤È¤Ã¤Æ¤¤¤ë¥ì¥³¡¼¥É¤Î¥Ý¥¤¥ó¥¿¤È¤½¤Î¥ì¥³¡¼¥É£±¹Ô¤Î¥Ç¡¼¥¿¤Î¤ß¥á¥â¥ê¤ËÆɤ߹þ¤àÊý¼°¤À¤«¤é¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢¥á¥â¥ê¤òÀêͤ·¤Ê¤¤¤Î¤ÇÂçÍÆÎ̤Υǡ¼¥¿¤ò½èÍý¤¹¤ë¤È¤¤ËÍѤ¤¤é¤ì¤Þ¤¹¡£
¤È¤¤¤¦¤³¤È¤Ç¡¢DataReaderµ½Ò¤ò¤¹¤Ù¤Æ DataAdapter/DataSet µ½Ò¤ËÊѹ¹¤·¤Þ¤·¤¿¡£
¤è¤¯¹Í¤¨¤Æ¤ß¤ì¤Ð¤³¤Î½èÍý¤Ç¤Ï¡¢¥Ç¡¼¥¿·ë²Ì¤¬¤Û¤Ü£±·ï¤·¤«¤«¤¨¤Ã¤ÆÍè¤Ê¤¤¸¡º÷¤Ç¤·¤¿¤Î¤Ç¡¢¤³¤ÎÊý¼°¤ÇÁ´¤¯ÌäÂ꤬¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¡£
¥µ¡¼¥Ð¡¼¥¢¥×¥ê¤Ç¤¹¤È¡¢¥Ç¥Ð¥Ã¥°¥í¥°¤â¤Ê¤«¤Ê¤«¥Á¥§¥Ã¥¯¤·¤Ë¤¯¤¤¤Î¤Ç¡¢»ä¤Ï¥Ç¥Ð¥Ã¥°¥í¥°¼«ÂΤâ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë½ÐÎϤ¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤¦¤¤¤¦¤È¤¤Ë¤â¡¢DataReader¤ò»ÈÍѤ·¤Æ¤¤¤ë¤È¡¢¥ª¡¼¥×¥ó¤«¤é¥¯¥í¡¼¥º¤Î´Ö¤ÏÊ̽èÍý¤¬¹Ô¤¨¤Þ¤»¤ó¤Î¤Ç¡¢¥í¥°¤âÅǤ½Ð¤¹¤³¤È¤¬¤Ç¤¤Ê¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢¤Ç¤¤ë¸Â¤ê DataAdapter/DataSet¤ËÊѹ¹¤¹¤ë¤Î¤¬Ë¾¤Þ¤·¤¤¤È¤¤¤¨¤Þ¤¹¤Í¡£