<?xml version="1.0" encoding="euc-kr" ?>
<?xml-stylesheet type="text/xsl" href="../okjsplec_c.xsl" ?>
<lecture>
	<title>CallableStatment »ç¿ëÇÏ±â</title>
	<who>kenu</who>
	<when>2001-11-06 4:28¿ÀÀü</when>
	<what>
		<text>
		<¼Ò½º ÆÄÀÏ¸í="½ÇÇàÈ¯°æ">
Windows XP english Version build 2600
jdk 1.3.1_01
apache 1.3.22
Tomcat 4.0.1
Oracle 8.1.5
		</¼Ò½º>
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		Procedure »ç¿ëÇÏ±â(http://okjsp.pe.kr/lecture/lec03/procedure01.xml)¿¡ ÀÌÀº °­ÁÂÀÔ´Ï´Ù. JSP ¿¡¼­ oracle ·Î Äõ¸®¸¦ ¿©·¯ ¹ø ³¯¸®Áö ¾Ê¾Æµµ µÇ±â À§ÇØ¼­ ¸¸µç Procedure ¸¦ jsp ¿¡¼­ ºÎ¸£´Â ¹æ¹ýÀÔ´Ï´Ù. ÀÏ´Ü ¼Ò½º¸¦ º¸½Ê½Ã¿À.
		<¼Ò½º ÆÄÀÏ¸í="move.jsp">
&lt;%@ page contentType="text/html;charset=euc-kr" import="java.sql.*" %>&lt;%
String mseq = request.getParameter("mseq");
String tbbs = request.getParameter("tbbs");
if (mseq==null||tbbs==null) {
%>mseq¿Í tbbs°ªÀÌ ÇÊ¿äÇÕ´Ï´Ù.&lt;%
return; // stop
}

String DB_URL = "jdbc:oracle:thin:@localhost:1521:okjspdb";
String DB_USER = "scott";
String DB_PASSWORD= "tiger";

Connection conn=null;
CallableStatement cstmt=null;

String query = "{call PROC_KBOARD_MOVE(?,?)}";
try {
	Class.forName("oracle.jdbc.driver.OracleDriver");
	conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

	cstmt = conn.prepareCall(query);
	cstmt.setString(1, mseq);
	cstmt.setString(2, tbbs);

	cstmt.executeUpdate();
%>½ÇÇàµÇ¾ú½À´Ï´Ù.&lt;%
} catch(Exception e){
	out.println(e.getMessage());
} finally {
	cstmt.close();
	conn.close();
}
%>

		</¼Ò½º>
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
°¡Àå Áß¿äÇÑ ºÎºÐÀº ¾Æ·¡ ºÎºÐÀÔ´Ï´Ù. CallableStatement ¸¦ »ç¿ëÇÏ±â À§ÇÑ ÇÙ½ÉÄÚµåÁÒ. ¾óÇÍ º¸¸é PreparedStatement ¶û Èí»çÇÕ´Ï´Ù. ±×µµ ±×·² ¼ö ¹Û¿¡ ¾ø´Â °ÍÀÌ API ¿¡¼­ java.sql.* ¿¡ ÀÖ´Â CallableStatement ¸¦ Ã£¾Æº¸¸é PreparedStatement ¸¦ »ó¼Ó¹ÞÀº °ÍÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù. Æ¯Â¡ÀûÀÎ ¸Þ¼Òµå´Â prepareCall() ÀÔ´Ï´Ù. .setString() Àº PreparedStatement ÀÇ °Í°ú °°ÁÒ. ^^;
<¼Ò½º ÆÄÀÏ¸í="ÇÙ½ÉºÎºÐ">
...
CallableStatement cstmt=null;
...
String query = "{call PROC_KBOARD_MOVE(?,?)}";
...
	cstmt = conn.prepareCall(query);
	cstmt.setString(1, mseq);
	cstmt.setString(2, tbbs);

	cstmt.executeUpdate();
...
</¼Ò½º>
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		ÀÌ ¼Ò½º¿¡ ÀÇ¹®À» °¡Áö½Å ºÐµµ ÀÖÀ» °Ì´Ï´Ù. "mseq´Â int·Î Ã³¸®¸¦ ÇØ¾ßµÇ´Â °Í ¾Æ´Ï³Ä?", "ÀÌ ¼Ò½º µ¹¾Æ°¡³Ä?" ¹°À¸½Å´Ù¸é, ¿ôÁö¿ä. ÇæÇæ~. ¼Ò½º´Â Á¦°¡ Á÷Á¢ µ¹·Á º» °ÍÀÔ´Ï´Ù. Àû¾îµµ Á¦°¡ ½ÇÇàÇÒ ¶§ ¿¡·¯´Â ´Ù ÀâÀº °ÍÀÔ´Ï´Ù. "±×·³ ³» PC ¿¡¼­´Â ¾Èµ¹¾Æ°¡³Ä... µ¹¾Æ¹ö¸®°Ú´Ù..." ÇÏ½Ã´Â ºÐµéÀº... »ï°¡ Á¶ÀÇ¸¦ Ç¥ÇÏ¸é¼­ Á¦ °­ÁÂ¸¦ Ã³À½ºÎÅÍ ´Ù½Ã ÇØº¸½Ã±â ¹Ù¶ø´Ï´Ù. ÅÍ¹Ì³Î¼­ºñ½º³ª, pcAnyWhere, telnet À» ¿­¾îÁÖ½Å´Ù¸é µé¾î°¡¼­ Á¦°¡ ÇØº¼ ¼ö ÀÖ´Â´ë·Î µµ¿Íµå¸®°í ½Í±º¿ä. ###### ´Ù½Ã º»·ÐÀ¸·Î µ¹¾Æ¿Í¼­ ¼³¸í µå¸®°Ú½À´Ï´Ù. jdbc µå¶óÀÌ¹ö¿Í DB »çÀÌ¿¡¼­ ÁÖ°í¹Þ´Â °ªµéÀº String ÀÌ¶ó°í ÇÕ´Ï´Ù. ´ë½Å jsp¿Í method¸¦ ÅëÇØ¼­ µé¾î¿Â °ªµéÀ» type ¿¡ ¸Â°Ô jdbc driver ³»ºÎÀûÀ¸·Î Ã³¸®ÇÑ´Ù°í ÇÕ´Ï´Ù. ¶§¹®¿¡ ÇÁ·Î±×·¥ ³»ºÎ¿¡¼­ °ªÀÇ º¯µ¿ÀÌ ¾ø´Â ¼ö µîÀº ±×³É String À¸·Î ¹Þ¾Æ¼­ Ã³¸®ÇØµµ Å©°Ô ¹®Á¦µÉ °Í ¾ø´Ù°í »ý°¢µË´Ï´Ù. È¤½Ã jdbc ¿¡ Á¤ÅëÇÏ½Å ºÐ²²¼­ º¸½Å´Ù¸é °¨ÆòºÎÅ¹ÇÕ´Ï´Ù. Á¦°¡ Àß¸ø Àü´ÞÇÏ¸é Å« ÀÏÀÌ´Ï±î¿ä.
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		À§ ¼Ò½º¿¡¼­ ¸î°¡Áö ÆÁÀÌ ÀÖ´Âµ¥¿ä. ASP ÀÇ Response.End ±¸¹®Àº break Æ÷ÀÎÅÍ·Î ¿ªÇÒÀ» ÅåÅåÈ÷ ÇÕ´Ï´Ù. ½ÇÇàÇÏ´Ù Áß°£¿¡ ¸ØÃß°í ÀÌÈÄÀÇ °ÍµéÀº ½ÇÇàµÇÁö ¾Ê°Ô ÇÏ´Â °ÍÀÌÁÒ. jsp ¿¡¼­´Â return ÀÌ À¯»çÇÑ ¿ªÇÒÀ» ÇÕ´Ï´Ù. jsp °¡ servlet À¸·Î ¹Ù²î¸é¼­ ¼Ò½ºÀÇ Áß°£¿¡ return À» ¸¸³ª¸é ¸Þ¼Òµå µîÀ» ºüÁ®³ª¿Í ¹ö¸®±â ¶§¹®ÀÌÁÒ. À§ÀÇ if (mseq==null||tbbs==null) À» ³Ö¾îÁØ ÀÌÀ¯´Â error¸¦ ¹Ì¿¬¿¡ ¹æÁöÇÏ·Á´Â °ÍÀÔ´Ï´Ù. NullPointerException ÀÌ ¹ß»ýÇÒ ¿©Áö¸¦ ³²°Ü µÎÁö ¾Ê´Â °ÍÀÌÁÒ.
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		¸Ö°Ô¸¸ ´À²¸Áö´Â jsp¸¦ °¡±õ°Ô ´À²¸Áö·Á¸é ¾ó¸¶³ª ½Ã°£ÀÌ °É¸±±î¿ä? Àúµµ 2000³â 9¿ù¿¡ ½ÃÀÛÇßÀ¸´Ï 2001³â 11¿ùÀÎ ÇöÀç 1³âÀÌ ³Ñ¾ú±º¿ä. Ã¥À» ½áº¸°í ½ÍÀº Ãæµ¿µµ ÀÖ°í ÇÑµ¥, ¾ÆÁ÷ »çÀÌÆ®¸¦ º¸¸é ¸Ö¾ú½À´Ï´Ù. ¼Ò¿øÀÌ ÀÖ´Ù¸é ÇìÇì "µ· ¸¹ÀÌ ¹ú°í, ºÎÁ·ÇÔ ¾øÀÌ µÇ´Â °ÍÀÔ´Ï´Ù." °¡³­Àº ÁË°¡ ¾Æ´Ï´Ù. ´Ù¸¸ ºÒÆíÇÑ °Í »ÓÀÌ´Ù. ¶ó´Â ¸»ÀÌ ÀÖÁö¸¸, Àü ºÒÆíÇÑ °Å ½È°Åµç¿ä. Áö±ÝÀº ¿¬ºÀ¸¸ ¹Ù¶óº¸°í »ð´Ï´Ù. ÁÁÀº Ä£±¸ ´ö¿¡ Áö±ÝÀº 2800 ¹Þ°í ÀÖ½À´Ï´Ù. °¡²û ¾Æ¸£¹ÙÀÌÆ®µµ ÇÕ´Ï´Ù¸¸ Èûµé±¸¿ä. Âü°í·Î Àü 84³â(Áß1)ºÎÅÍ ÇÁ·Î±×·¡¹ÖÇß½À´Ï´Ù.(apple ÄÄÇ»ÅÍ¿¡¼­ basic°ú ¾î¼Àºí¸®¾î·Î ÇÁ·Î±×·¥Â¥°í Çß½À´Ï´Ù.) ±×µ¿¾È Áø·Î¶§¹®¿¡ Çì¸Å´À¶ó ¸¹ÀÌ ½¬±ä ÇßÁÒ. ÇÏÁö¸¸, À¥°³¹ßÀÚ·Î ³ª¼±Áö´Â 5³â µÇ¾ú½À´Ï´Ù. Æò»ý ³»°¡ ÇØ¾ßÇÒ ÀÏÀÌ¶ó°í »ý°¢ÇÏ°í ÀÖ½À´Ï´Ù. ±×¸®°í, ÀÌ°Ô °¡Àå Àç¹ÌÀÖ±¸¿ä. ¾Æ³»¿¡°Ô ¹Ì¾ÈÇÑ ¸»ÀÌÁö¸¸ sex ¸¸Å­ Àç¹ÌÀÖ½À´Ï´Ù.(Á» ¾ßÇß³ª... ^^ ÇìÇì) ³¡¿¡ »ç¼³ÀÌ ±æ¾ú±º¿ä. ÇÏ¿©°£ ¿©·¯ºÐ Èû ³»½Ã°í, JSP Àß ¹è¿ì½Ã±â ¹Ù¶ø´Ï´Ù. ÁÁÀº ÇÏ·ç µÇ¼¼¿ä.
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
	<what>
		<text>
		<¼Ò½º ÆÄÀÏ¸í="Âü°í¹®¼­">
about JDBC, ¼Õ¿ì»ó, ¿µÁøÃâÆÇ»ç
		</¼Ò½º>
		</text>
		<image>/images/spacer.gif
		</image>
	</what>
</lecture>
