MSSQL 7, DELPHI 5,0을 사용하고 있습니다.
MSSQL에서 Field의 Type을 nChar 로 했는데
UPDATESQL 에서 사용을 하려면 에러가 납니다.
예: Query1.FieldByName('Test').AsString := '연습입니다.';
하면 Test 필드가 없다고 에러가 납니다.
물론 Test 필드는 유니코드를 저장하기 위하여 nChar(20) 으로
정해놓았습니다.
답변들을 찾아보니 N 을 Field 앞에 붙여 써야 한다고 하는데
어떤 방법으로 써야 하는지...
FieldByName('NTest')AsString 도 에러가 나고
FieldByName(N'Test').AsString 도 에러가 납니다.
알고계신분의 답변 부탁드립니다.
감사합니다.
델파이에서 다룰때
AsString 으로 하는것이 아니라
AsMemo 또는 AsBlob으로 처리하셔야 정상처리됩니다.
바이너리 타입 데이터(그림, 파일 포함 됩니당)의 경우 AsBlob으로 하시고
스트링인 경우 AsMemo로 처리하시면 됩니다.
특히 BDE를 쓰실경우 대용량 필드의 값은 캐쉬와 블럭 사이즈가 넘치는 경우가 많으니까 미리 오버플로우를 방지하기 위해서 크기를 늘려서 사용하시는게 현명합니다. ^^*