让DBX用Firebird识别布尔值

时间:2009-12-28 17:36:31

标签: delphi data-binding firebird dbexpress

Firebird常见问题解答解释how to create a BOOLEAN domain。可能最有趣的部分是最后,它说:

  

如果您使用类似的连接库   在.Net下的OleDB,你可以覆盖   OleDB提供程序的GetSchema方法,所以   您从查询中获得的DataTable   有原生.Net布尔。

有没有办法用DB Express做到这一点?我正在使用来自http://sites.google.com/site/dbxfirebird/的DBX驱动程序,能够在我的数据集而不是TSmallintField中获取TBooleanField实例肯定会很好。

1 个答案:

答案 0 :(得分: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