Announcement

Collapse
No announcement yet.

datenbank und tabelle(n) zur laufzeit erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • datenbank und tabelle(n) zur laufzeit erstellen

    Hallo,

    ich versuche eine Datenbank und eine Tabelle (s.u.) zu erstellen.
    Wenn ich jedoch mit ISQL die datenbank öffne und mit:
    --------------------------------------------------------
    Database: test.gdb, User: sysdba
    SQL> show tables;
    daten
    SQL> show table daten;
    There is no table DATEN in this database
    --------------------------------------------------------
    was läuft da falsch?

    IBDatabase = new TIBDatabase(NULL);
    IBDatabase->DatabaseName="test.gdb";

    IBTransaction = new TIBTransaction(NULL);
    IBTransaction->DefaultDatabase = IBDatabase;

    if (IBDatabase->Connected) {
    IBDatabase->Connected=false;
    }
    IBDatabase->Params->Clear();
    IBDatabase->Params->Add("user 'sysdba'");
    IBDatabase->Params->Add("password 'masterkey'");
    IBDatabase->CreateDatabase();
    }
    IBDatabase->Connected=true;


    TIBTable *ibtable;
    ibtable = new TIBTable(NULL);
    ibtable->Database = IBDatabase;
    ibtable->Active = false;
    ibtable->Name="daten";
    ibtable->TableName="data";
    ibtable->FieldDefs->Clear();
    ibtable->FieldDefs->Add("ID",ftInteger,0,false);
    ibtable->FieldDefs->Add("Datum",ftDate,0,false);
    ibtable->FieldDefs->Add("wert",ftInteger,0,false);
    ibtable->IndexDefs->Clear();
    ibtable->IndexDefs->Add("","ID",TIndexOptions() << ixPrimary << ixUnique);
    ibtable->CreateTable();
    IBTransaction->Active=true;
    IBTransaction->Commit();
    ibtable->Free();

  • #2
    Also ich würde hier auf die DDL zurückgreifen und mittels "CREATE TABLE..." das durchführen.

    Comment

    Working...
    X