database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 21464 게시물 읽기
No. 21464
java에서 Long 형에 데이터 insert, update, select [답]
작성자
윤병찬
작성일
2005-01-18 21:39ⓒ
2005-06-17 10:06ⓜ
조회수
7,730

음..

제가 여기 계시글을 아무리 뒤져도 쉽게 찾을수 없어..

이렇게 글 올립니다.

오라클의 4000바이트의 제약을 뛰어넘기 위해 Long형을 썻습니다. Clob등은 쓰다가 실패..ㅡ.ㅡ

아래는 JDBC 2.0 이상에서 해당됩니다.

prepareStatement 을 선언하구요

Connection 객체를 conn 이라 치고..

content 이 컬럼이 Long 형입니다.

-- 에러 --

PreparedStatement ps = null;

String no = "1";

String title = "제목";

String content = "4000바이트 이상의 문자";

 

String query = "INSERT INTO YBC VALUES (no, title, content) VALUES (?,?,?)";

ps = conn.prepareStatement( query );

ps .setString(1, no );

ps .setString(2, title );

ps .setString(3, content );

ps.execute();

 

이렇게 썻던것을 아래처럼 바꿉니다... ㅡ.ㅡ

-- 정상 --

PreparedStatement ps = null;

String no = "1";

String title = "제목";

String content = "4000바이트 이상의 문자";

 

String query = "INSERT INTO YBC VALUES (no, title, content) VALUES (?,?,?)";

ps = conn.prepareStatement( query );

ps .setString(1, no );

ps .setString(2, title );

StringReader sr = new StringReader(content ); // 달랑 요기 1

ps.setCharacterStream(3, sr, content.length()); // 달랑 요기 2

ps.execute();

 

이것은 Insert, Update 시에 사용되구요

Select 는 기존처럼 ResultSet 에서 getString 으로 무난히 불러 올수 있습니다.

단. "SELECT NO, TITLE, CONTENT FROM YBC WHERE NO = '1'" 에서

String n = ResultSet객체.getString("NO");

String t = ResultSet객체.getString("TITLE");

String c =ResultSet객체.getString("CONTENT ");

이런식으로 select 문에 던진 컬럼들 순서대로 3번째에 getString("CONTENT") 을 가져와야 합니다.

아니면 제일 처음

String c =getString("CONTENT ");

String n = getString("NO");

String t = getString("TITLE");

이런식으로 가져오시던가요..(테이블에 Long형이 하나일때..)

그이유는.. 시간관계상 자세히 파보지 않아서 모르겠습니다..캬캬캬

 

지금은 다들 잘 알고 계시리라 믿지만 저처럼 찾아 헤멘 분들을 위하여

다른 설명은 없이 소스만 적었습니다..

 

나중에 까먹으면 다시 와서 보고 가야지.. ^^ 즐거운 저녁 되세요~

 

 

 

 

 

이 글에 대한 댓글이 총 1건 있습니다.

좋은 글 참고하겠습니다...^^ 앞으로 좋은 글 올려주세요...^^

 

시롱이

http://freeboard.wawa.to

sironge@empal.com

 

장시영(sironge)님이 2005-01-19 00:06에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
21467클라이언트 배포 시 레지스트리 설정....아 미치겠슴다... [1]
시인
2005-01-19
3184
21466OCI-22060 오류에 대해서 [1]
정덕진
2005-01-19
2763
214658.1.6에서 오라클 서비스가 "시작하는중"으로 나옵니다. 패치는 어떻게? [4]
정말급한이
2005-01-18
2681
21464java에서 Long 형에 데이터 insert, update, select [답] [1]
윤병찬
2005-01-18
7730
21463tokenizer같은 oracle 함수 [1]
sunny
2005-01-18
1947
21462쿼리문장으로 계층구조를 표현하려고 합니다. [4]
궁금이
2005-01-18
3602
21461쿼리문 조언을 구합니다. [3]
김세영
2005-01-18
1685
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다