C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[36975] oralce varchar2 내용중 null이 포함되어 있는 경우의 data fetch 방법문의
어렵다 [yongbum] 932 읽음    2004-08-25 10:58
Oracle 9i를 dbExpress를 이용해서 쓰고 있습니다.
Table tt {
     aa integer;
     bb varchar2(512);
}

select aa, bb from tt; 를 수행한 다음에

int aaa = SQLDataSet1->FieldValues["aa"];
unsigned char bbb[1024];
memcpy(bbb, AnsiString(SQLDataSet1->FieldValues["bb"]).c_str(), 512);
를 수행하면 bb에 값이 들어가질 않습니다.

물론 field bb에 일반 string "abcd..." 이 넣어져 있는 경우 문제가 없는데....
bb에 값이 "0x00 0x01 0x02 0x03 ..... 등등으로 들어 있는 경우 이상한 값이 넘어 옵니다.

아마 String으로 인식하면서 NULL 때문에 Data가 truncate되던지...
아님 다른 이유가 있는지 잘 모르겠습니다.

어떤 글을 보니깐 oracle varchar2의 경우 C++Builder에서 BLOB type으로 간주한다고해서..

TBlobField *BlobField = dynamic_cast<TBlobField *>(SQLDataSet1->Fields->Fields[1]);
을 해봐고 BlobField가 NULL로 return 되는 군요.

조언 부탁드립니다.
감사합니다.

+ -

관련 글 리스트
36975 oralce varchar2 내용중 null이 포함되어 있는 경우의 data fetch 방법문의 어렵다 932 2004/08/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.