메뉴 건너뛰기

Dev tips

JSP 쿼리문에서 데이터 길이 초과시 Stream 방식 사용

taknim 2007.06.21 02:32 조회 수 : 8187 추천:2071

ASP 에서 addnew 와 비슷한 경우

? 로 파라미터를 받아서 쓸 수 있도록 쿼리에 ? 입력 후 StringReader 로 데이터를 넣어준다.

INSERT 에서 사용
----------------------------------------------------------------------------
Sql  = " INSERT INTO "+Table_Name;
Sql += " (B_IDX,B_CATEGORY,B_NAME,B_ID,B_PWD,B_EMAIL,B_SUBJECT,B_CONTENT,RE_IDX,RE_LEVEL,RE_STEP,IP_ADDRESS,B_REGDATE)";
Sql += " VALUES("+B_Idx_Count+", '"+cate+"', '"+B_Name+"', '"+B_Id+"', '"+B_Pwd+"', '"+B_Email+"', '"+B_Subject+"', ?, "+B_Idx_Count+", "+Re_Level+", "+Re_Step+", '"+Ip_Address+"', SYSDATE) ";

PreparedStatement ps = con.prepareStatementSet(Sql);

StringReader sr = new StringReader(B_Content);
ps.setCharacterStream(1, (Reader) sr, B_Content.length());
ps.executeUpdate();

ps.close();


UPDATE 에서 사용
----------------------------------------------------------------------------
Sql  = " UPDATE "+Table_Name;
Sql += " SET B_CATEGORY = '"+cate+"' ";
Sql += " , B_SUBJECT = '"+B_Subject+"' ";
Sql += " , B_CONTENT = ? ";
Sql += " , IP_ADDRESS = '"+Ip_Address+"' ";
Sql += " WHERE B_IDX = "+B_Idx;

PreparedStatement ps = con.prepareStatementSet(Sql);

StringReader sr = new StringReader(B_Content);
ps.setCharacterStream(1, (Reader) sr, B_Content.length());
ps.executeUpdate();

ps.close();