2010-07-06 3 views
4

Delphi 6 및 ADO를 사용하여 SQL Server 2008 데이터베이스에서 nvarchar(max) 필드를 읽어야합니다. 유니 코드 텍스트를 잘 처리 할 수 ​​있지만 ADO 구성 요소가 코드 페이지에 문자열을 "사전 변환"한 것처럼 보일뿐입니다.Delphi 6에서 SQL Server 유니 코드 문자열 읽기

은 내가 TBlobField로 필드에 접근하려했지만 그것은뿐만 아니라 나에게 변환 된 버전을 제공합니다 : 나는 5 개 중국어 문자를 나타내는 데이터의 10 바이트를 저장하고있어 blobSize를 5.

사람이하는 방법을 제안 할 수 반환 blob 필드에서 변환하지 않고 원시 메모리를 가져 오려면 어떻게해야합니까?

+0

편집 해 주셔서 감사합니다. Marc. 게시하기 전에이 메시지를 읽어야합니다. – Stephane

답변

3

찾았습니다. 정말 단순하게 밝혀졌다 : 그것은 정상적인 필드이었고, 다음을 수행 것처럼 데이터 집합을 엽니 다

AQuery.FieldByName('LocalText').SetFieldType(ftWideString); 
WSBuffer := (AQuery.FieldByName('LocalText') as TWideStringField).Value; 

이 (WSBuffer은 WideString이 유형입니다).

관련 문제