2009-12-28 3 views
1

파이어 버드 FAQ는 how to create a BOOLEAN domain을 설명합니다. 당신은 닷넷에서 인 OleDB 같은 연결 라이브러리를 사용하는 경우DBX가 파이어 버드와 부울을 인식하도록 만들기

, 당신은 OLEDB 공급자의 GetSchema 메소드를 오버라이드 (override) 할 수 있습니다 당신이에서 얻을 그래서 DataTables : 아마도 가장 흥미로운 부분은 그것이 말하는 말에있다 네이티브 .Net 불리언이 있습니다.

DB 익스프레스에서이를 수행 할 수있는 방법이 있습니까? http://sites.google.com/site/dbxfirebird/에서 DBX 드라이버를 사용하고 있으며, TSmallintField 대신 TBooleanField 인스턴스를 가져올 수있어서 좋을 것입니다.

+0

당신은 수동으로이 작업을 수행 할 수 있습니다. 그게 충분하니? –

+0

내가 어떻게 알았을 것입니다. 하지만 내가 그랬다면, 여기에 묻지 않아도 될 것입니다 ... –

+0

필드 편집기에서 마우스 오른쪽 버튼을 클릭하여 "New field"를 입력하십시오. 이 작업 방법을 묻는 경우 또는 모든 필드를 추가 할 때 자동으로 수행하는 방법을 묻는 경우 확실하지 않았습니다. –

답변

0

각 TDataSet의 자손이 대체 할 수 있습니다 이러한 두 가지 방법에 의해 처리됩니다

function TDataSet.GetFieldClass(FieldType: TFieldType): TFieldClass; 
begin 
    Result := DefaultFieldClasses[FieldType]; 
end; 

function TDataSet.GetFieldClass(FieldDef: TFieldDef): TFieldClass; 
begin 
    Result := GetFieldClass(FieldDef.DataType); 
end; 

--jeroen

+1

이것은 Craig가 제안한 것과 기본적으로 같은 것입니다. DBX 드라이버가 이미 인식하는 데이터 유형에서만 작동합니다. 내가 필요로하는 것은 새로운 타입을 가르치는 것이므로, 처음에는 부울 타입의 TFieldDef 객체를 생성 할 것입니다. –

+0

TFieldDef를 검사하여 기본 메타 정보가 무엇인지 확인할 수 있습니다 (BOOLEAN은 값 0과 1 만 포함하거나 NULL 일 수 있음). 나는 가족을 끝내서 아직이 일을 할 시간이 없었습니다. 첫 번째 기회는 연말 연시 이후입니다. –

관련 문제