我有一个带有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到LOGICALFDConnection:
CREATE TABLE ACT_01 (
ISDOC LOGICAL,
DOCTYPE VARCHAR(1))
答案 0 :(得分:0)
FireDAC使用硬编码数据类型为所有不支持的 ODBC驱动程序生成 CREATE 命令(ODBC命令生成器的 GetColumnType 方法不查询驱动程序对于DBMS数据类型名称)。
更重要的是,FireDAC does not recognize任何 ftLogical 数据类型,因此您无法创建自定义数据类型映射,即使这正是您应该在此处执行的操作。
所以,你现在运气不好。