|
소스는 다음과 같습니다.
-----------------------------------------------------------
sInsertSQL = "INSERT INTO TENPRINT_CLASS (FINGER_NO, TEN_SYS_NO, FINGERCLASS_NO, FEATURE, FEATURE_LENGTH) ";
sInsertSQL += "VALUES ('1', 2049, '1', ?, '512')";
ADOQuery1->SQL->Text = sInsertSQL;
TParameter *tParam1 = ADOQuery1->Parameters->ParamByName("Param1");
tParam1->LoadFromFile(sInsertFileName, ftBytes);
ADOQuery1->ExecSQL()
-----------------------------------------------------------
sInsertFileName 파일의 내용을 디비필드에 올리려 합니다.
파일의 내용은 "\0 ...." 으로 시작하기 때문에
tParam1의 내용에는 제대로 저장되지만, 디비필드에는 아무것도 저장되지 않습니다.
제 생각에는 디비필드가 스트링필드이므로 올리면서 잘리는 듯 합니다.
"binary를 저장을 할땐 BLOB type으로 하세요."라고 하셨는데....
어떻게 하는 것인지... 설명 좀... 부탁..... 드립니다.
김요한 님이 쓰신 글 :
: Data type이 안 맞아서 나타나는 현상입니다.
: varchar를 string/char로 받으시면 되고요,
: binary를 저장을 할땐 BLOB type으로 하세요.
: 원하시는 것을 하시려면 문자로 변환 후 저장하시면 됩니다.
:
: 엄연히, char와 binary는 다른 것이지요.
:
: 그럼,
: 좋은 하루되세요.
:
: 곽성주 님이 쓰신 글 :
: : DB에서 varchar(512)로 선언된 string field에 binary(512 Byte) 데이타를 올리려고 하는데
: :
: : 안되는군요 ..
: :
: : 뭔가 올라가긴 하는데, 조회가 안되요, 왜 그럴까요?
|