通过FDTable将生成的sql脚本中的BOOLEAN更改为LOGICAL

时间:2017-06-28 10:02:49

标签: delphi firedac dbase

我有一个带有TBooleanField的FDTable。 该数据库是dBase IV。

我想用:

创建表格
def TableHand():
    hand = set()
    for i in range(0, 5):
        card = (RandomCardDraw(), RandomHouseDraw())
        hand.add(card)
    return hand

如果表中没有TBooleanField,则可以使用。

在CreateTable上生成的SQL脚本中,TBooleanField的类型为BOOLEAN。 FDConnection或FDTable的属性是否存在将BOOLEAN更改为LOGICAL的内容。

SQL脚本:

<TFDTable>.CreateTable(False, [tpTable]);

必须改变:

CREATE TABLE ACT_01 (
  ISDOC BOOLEAN,  
  DOCTYPE VARCHAR(1))

好的,我可以在没有createtable的情况下自己执行sql,但我想知道是否可以从方法TFDTable.CreateTable

更改BOOLEAN到LOGICAL

FDConnection:

CREATE TABLE ACT_01 (
  ISDOC LOGICAL,  
  DOCTYPE VARCHAR(1))

1 个答案:

答案 0 :(得分:0)

FireDAC使用硬编码数据类型为所有不支持的 ODBC驱动程序生成 CREATE 命令(ODBC命令生成器的 GetColumnType 方法不查询驱动程序对于DBMS数据类型名称)。

更重要的是,FireDAC does not recognize任何 ftLogical 数据类型,因此您无法创建自定义数据类型映射,即使这正是您应该在此处执行的操作。

所以,你现在运气不好。