1

Firebird 常见问题解答解释了如何创建 BOOLEAN 域。可能最有趣的部分在最后,它说:

如果您在 .Net 下使用 OleDB 之类的连接库,则可以覆盖 OleDB 提供程序的 GetSchema 方法,因此您从查询中获得的 DataTables 具有本机 .Net 布尔值。

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

4

1 回答 1

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;

——杰伦

于 2009-12-29T13:35:23.380 回答