|
질문이 약간 애매모호해서 답글이 없는거 같아 질문은 좀 자세히 올립니다.
예를들어.
unsigned char szBuff[100];
ZeroMemory(szBuff,sizeof(szBuff));
for(int i=0;i<30;i++){
int j=i*2;
a[j] = 0x03;
a[j+1]=0x00;
}
이라고 하면..
배열 a에는 {0x03,0x00,0x03,0x00,0x03,0x00................................0x00}
이렇게 들어갑니다. 널값이 포함된 배열이죠...
이런 데이터를 DB Varchar2 타입의 필드에 넣고싶은데...
아무리 해도 0x00 즉, 널 값을 만나면 더이상 저장되지 않습니다.
//입력하는 것은 이렇게 하였습니다.
Query1->ParamByName("BIN_FIELD")->SetData(a);
이렇게 하면, BIN_FIELD에는 '0x30' 한바이트 밖에 들어가지 않습니다.
의도는, 100Byte가 들어가는 거거덩요...
//그래서 이렇게도 해봤습니다.
TMemoryStream* pms = new TMemoryStream();
pms->Clear();
pms->SetSize(100);
int count = pms->Write(a,100);
pms->Position = 0;
Query1->ParamByName("BIN_FIELD")->LoadFromStream(pms,ftMemo);
이렇게 해도 답은 마찬가지 입니다.
** 널값을 포함해서 100Byte를 넣는 방법은 없을까요? 쩝.
|