2017-06-28 2 views
0

Ich habe eine FDTable mit TBooleanField. Die Datenbank ist dBase IV.Ändern Sie BOOLEAN zu LOGICAL in generierten SQL-Skript von FDTable

Ich möchte mit der Tabelle erstellen:

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

Dies funktioniert, wenn ich kein TBooleanField in der Tabelle haben.

In dem SQL-Skript, das auf CreateTable generiert wurde, ist TBooleanField vom Typ BOOLEAN. Gibt es etwas in der Eigenschaft von FDConnection oder FDTable, das die BOOLEAN zu LOGICAL ändert.

SQL Script:

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

Müssen ändern:

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

Ok, ich die SQL-selbst ohne die Create ausführen kann, aber ich möchte wissen, ob es möglich ist, die BOOLEAN zu ändern LOGISCH von der Methode TFDTable.CreateTable

FDConnection:

FDConnection1.Params.Add('DriverID=ODBC'); 
    FDConnection1.Params.Add('ODBCDriver={Microsoft dBase Driver (*.dbf)}'); 
    FDConnection1.Params.Add('Database=C:\Projects\Test Projects\DBase table\Data'); 
+0

Wenn Sie den richtigen Treiber verwenden, sollte es diese Art von Details für Sie kümmern. Der Advantage-Treiber beispielsweise ordnet TBooleanField automatisch einem logischen Feld zu und führt alle Wertkonvertierungen transparent durch. –

+0

@KenWhite: Meinst du, dass ich den Advantage-Treiber verwenden muss? – Ravaut123

+0

Nein, ich meine, dass der Treiber diese Art von Conversions automatisch für Sie erledigen sollte * wenn Sie einen passenden Treiber * verwenden, was ich in meinem ersten Satz meines vorherigen Kommentars gesagt habe. –

Antwort

0

FireDAC verwendet hartcodierte Datentypen zur Erzeugung Befehl für alle nicht unterstützten ODBC-Treiber CREATE (der ODBC-Befehl GetColumnType Methode des Generators nicht Treiber abfragen für DBMS Datentypnamen).

Was mehr ist, FireDAC does not recognize jede ftLogical Datentyp, so dass Sie nicht eine benutzerdefinierte Datentypzuordnung erstellen, obwohl das ist genau das, was Sie hier tun sollten.

So, du bist Pech zu dieser Zeit.

Verwandte Themen