안녕하세요.
델파이 5.0 Tquery의 SQL문을 작성하여 Memo file의 값을 오라클 db로
insert 하려고 합니다.
그런데 메모의 내용이 한 줄일때는 잘 insert가 되지만
한줄이 넘어갈 경우 - 중간에 엔터 값이 들어갈 경우는
여지없이 에러가 나는데 에러메세지는
"ORA-01465 invalid hex number" 이 나오네요.
params 로 써도 마찬가지이고요....
아시는 분 답변 부탁드립니다.
그럼....
_____________________________________________________
예제 source
with qryIPMAIN_insert do
begin
SQL.Clear ;
SQL.Add('Insert into IPMAIN ') ;
SQL.Add(Format('Values (''%s'',''%s'' ) ',[edSWNO.Text,mmIP.Text] ) ) ;
ExecSQL ;
end ;
여기서 mmIP.text가 메모입니다.
> 안녕하세요.
>
> 델파이 5.0 Tquery의 SQL문을 작성하여 Memo file의 값을 오라클 db로
> insert 하려고 합니다.
> 그런데 메모의 내용이 한 줄일때는 잘 insert가 되지만
> 한줄이 넘어갈 경우 - 중간에 엔터 값이 들어갈 경우는
> 여지없이 에러가 나는데 에러메세지는
> "ORA-01465 invalid hex number" 이 나오네요.
> params 로 써도 마찬가지이고요....
>
> 아시는 분 답변 부탁드립니다.
>
> 그럼....
>
> _____________________________________________________
> 예제 source
>
> with qryIPMAIN_insert do
> begin
> SQL.Clear ;
> SQL.Add('Insert into IPMAIN ') ;
> SQL.Add(Format('Values (''%s'',''%s'' ) ',[edSWNO.Text,mmIP.Text] ) ) ;
> ExecSQL ;
> end ;
>
> 여기서 mmIP.text가 메모입니다.
>
>
>
>
--------------------------------------------------------------
오라클의 해당필드의 field Type을 Varchar2(1000)로 선언하고
with qryIPMAIN_insert do
begin
SQL.Clear ;
SQL.Add('Insert into IPMAIN ') ;
SQL.Add('Values (:edSWNO) ') ;
ParamByName('edSWNO').AsString := mmIP.Lines.Text;
//또는 ParamByName('edSWNO').AsBlob := mmIP.Lines;
ExecSQL ;
end ;
반대로 field에 있는값을 읽을때는
mmIP.Lines.Text := qryIPMAIN_insert.FieldByName('필드명').AsString;
오라클의 varchar2는 2k까지 사용가능하기때문에 보통은 varchar2를사용하나 그이상의
데이타를 사용시는 Long Row등의 타입을 사용하는데 그럴땐는 일반 이미지저장방법과동일하게 처리해야함니다.
수고하십시요