Deutsch English
Alphabetischer Index
Array-Funktionen
CGI-Funktionen
Datentypen
Datums/Uhrzeit-Funktionen
Debugging
Operatoren
Ramtext-Funktionen
Selektion
Socket-Funktionen
Sonstige-Funktionen
Sprachelemente
Statistik-Funktionen
Stream-Funktionen
String-Funktionen
System-Funktionen
Tabellen-Funktionen
  • access()
  • andmarks()
  • autofield()
  • autorecno()
  • blobsize()
  • blobtype()
  • cleardat()
  • closedb()
  • copyblob()
  • copymemo()
  • dbdir()
  • dbname()
  • dbno()
  • dbrights()
  • deldb()
  • delindex()
  • delmark()
  • delmarkedrecords()
  • delmarks()
  • delrec()
  • editoff()
  • editon()
  • embedblob()
  • exists()
  • fields()
  • filemode()
  • fileno()
  • filesize()
  • findandmark()
  • findauto()
  • findrec()
  • firstmark()
  • firstrec()
  • flushdb()
  • fsum()
  • genindex()
  • getcode()
  • getdef()
  • getfield()
  • getmarks()
  • getmode()
  • getpw()
  • getrec()
  • getrfield()
  • getstructure()
  • gettype()
  • incrfield()
  • inddef()
  • indname()
  • indno()
  • ismark()
  • label()
  • labelno()
  • lastrec()
  • link()
  • linkblob()
  • linkinfo()
  • lock()
  • makedb()
  • markdoubles()
  • markindex()
  • markpattern()
  • maxfile()
  • maxlabel()
  • memolen()
  • memostr()
  • newtable()
  • nextmark()
  • nextrec()
  • nmarks()
  • opendb()
  • prevrec()
  • primfile()
  • primtable()
  • putmarks()
  • putrec()
  • readmemo()
  • readrec()
  • recno()
  • recno()
  • recnr()
  • regenall()
  • regenind()
  • relation()
  • rendb()
  • reopendb()
  • revmarks()
  • setalias()
  • setauto()
  • setfield()
  • setfields()
  • setfilter()
  • setmark()
  • setmarks()
  • setrecord()
  • setrfield()
  • sortmark()
  • treeinfo()
  • unlock()
  • writerec()
    Text-Funktionen
    Volltext-Funktionen
    Zahlen-Funktionen
    Home    Überblick    Suche    Impressum    Kontakt    Mitglieder
    Themenkomplex Tabellen-Funktionen
    Funktion makedb()
    Kurz Anslage einer neuen Tabelle
    Syntax MAKEDB(db_p, db_pw : STRING; c : INTEGER; def : STRING[; db_i : INTEGER]) : INTEGER
    Parameter db_p : Pfad zur Hauptdatei (.dat) der Tabelle
    db_pw : Passwort der Tabelle
    db_c : Verschlüsselungscode der Tabelle
    def : Pfad zu einer Strukturdefinition
    db_i : Pfad zu einer Import-Tabelle
    Ergebnis 0 : Tabelle wurde erfolgreich erzeugt
    sonst : Fehlercode
    Siehe auch:
    genrel() genlist()
    Beschreibung

    Die Strukturdefinition ist der Name einer Textdatei, die folgendermaßen aufgebaut ist:

    [STRUCTURE]
    field_1=fieldspec
    field_2=fieldspec
    ...
    [INDEX]
    id=indexdef
    index_1=ind-name:ind-desc
    index_2=ind-name:ind-desc
    ...

    Der Abschnitt unter [INDEX] ist nur erforderlich, wenn die Tabelle automatisch numeriert wird.

    Eine Feldspezifikation fieldspec hat folgende Struktur:

    Feldbezeichner,Typdefinition[,(Importfeld)]

    Als Feldbezeichner sind alle Bezeichner zugelassen, die mit einem Buchstaben oder Unterstrich beginnen und nur aus Buchstaben, Ziffern und Unterstrich bestehen. Die maximale Länge beträgt 35 Zeichen.

    Folgende Typdefinitionen sind zugelassen:

    Zeichenketten:

    STRING,Länge (Länge von 1 bis 255)
    -> Stringfeld mit der angegeben Maximallänge

    Zahlen:

    NUMBER,NumCode[,Nachkommastellen][,U]
    -> numerisches Feld je nach NumCode

    NumCode Typ             Wertbereich
     1      BYTE            Ganze Zahlen VON 0 BIS 255
     2      16-Bit-INTEGER  Ganze Zahlen VON - 32768 BIS + 32767
     4*     32-Bit INTEGER  Ganze Zahlen VON - 2147483648 BIS + 2147483647
     6**    6-BYTE REAL     Fließkommazahlen (altes Borland-Format)
                            VON -2.9 x 10^39 BIS +1.7 x 10^38 bei 11-12 sign. Stellen
     8***   8-BYTE-REAL     Fließkommazahlen (ANSI double)
                            VON -5.0 x 10^324 BIS +1.7 x 10^308 bei 15-16 sign. Stellen

    *) nur tdbengine, nicht kompatibel zur VDP oder TurboDatenbank
    **) kompatibel zu allen VDP- und TurboDatenbank-Versionen
    ***) nur tdbengine und VDP (ab 2.5)

    Nachkommstellen werden nur bei den REAL-Typen berücksichtig. Sie sind wesentlich für den Datentransfer mit den Funktionen GetField und SetField sowie beim Export in andere Datenbankformate. Intern werden alle REAL-Typen immer mir der optimalen Genauigkeit gespeichert.

    Wird der Parameter U angegeben, so wird in Selektion zwischen dem Wert 0 und "undefiniert" unterschieden.

    BOOLEAN
    -> Ein Bit (true/false)

    Memos und Blobs:

    MEMO
    -> ergibt ein Memofeld

    Der Inhalt eines Memofeldes ist ein Verweis auf eine zusätzliche Memodatei. In Memodateien werden auschließlich unformatierte Texte gespeichert.

    BLOB [,blocksize]
    -> ergibt ein Blobfeld

    Der Inhalt eines Blobfeldes ist ein Verweis auf eine zusätzliche Blobdatei In Blobdateien werden beliebige Daten gespeichert. Mit blocksize kann die Größe der Cluster in der Blobdatei festgelegt werden (Minimum = 64, Maximum = 8192, Default = 4096). Pro Eintrag in die Blobdatei wird im Schnitt ein halber Cluster verschwendet, aber zu kleine Cluster verlängern die Zugriffszeiten.

    AUTO-INCREMENT:

    AUTO[,Startnummer]
    -> Autonummern-Feld (AUTO INCREMENT)

    Die Zählung beginnt (in einer neuen Tabelle) mit der Startnummer (bzw 1, falls keine angegeben wurde)


    Datum und Zeit:

    DATE
    -> Datumsfeld (dd.mm.yyyy)

    TIME
    -> Zeitfeld (hh:mm)

    UTIME
    -> Unix-Timestamp (dd.mm.yyyy_hh:mm:ss)

    Aufzählung:

    SELECT,Wert1,Wert2,Wert3,...
    -> Auswahlfeld mit dem angegebenen Wertbereich

    Verknüfungen:

    REL
    -> Relationsfeld zwischen den angegebenen Tabellen

    Achtung: Die tdbengine erzeugt nicht automatsich die zugehörige Relationstabelle. Hierfür steht die Funktion GenRel zur Verfügung.

    LINK,Tabelle
    -> ADL-Linkfeld zur angegebenen Tabelle

    Es wird nicht gepüft, ob die Tabelle existiert oder ob die automatisch numeriert wird.

    Importfelder festlegen:

    Ist in GenTable eine Quelle angegeben, so wird das spezifizierte Feld durch den Inhalt des angegebenen Importfeldes der Quelle ersetzt.
    Ist kein Importfeld angegeben, so wird der spezifizierte Feldname verwendet.

    Wird als Quelle der gleiche Dateiname wie unter Ziel angegeben, so wird die Tabelle entsprechend restrukturiert. Als Abkürzung für den gleichen Dateinamen ist das Zeichen "@" erlaubt.

    Hinweis: Die Strukturdefinition ist eigentlich eine Maschinendatei, die von einem Hilfsprogramm durch Interaktion mit dem Anwender erzeugt wird. Wenn Sie eine Strukturdefinition von Hand erstellen, sollten Sie unbedingt folgendes beachten:

    * Die Numerierung der Felder muß lückenlos sein.
    * Keine Feldnummer darf doppelt vorkommen.
    * Fügen Sie neue Felder immer am Ende an, da die Reihenfolge nicht wesentlich ist.
    * Wenn Sie im Zuge einer Umstrukturierung einen Feldbezeichner ändern wollen, so vergessen Sie nicht, den bisherigen Bezeichner als Importfeld anzugeben, da andernfalls der Feldinhalt verloren ist.

    Die Umstrukturierung einer Tabelle ist immer ein kritischer Vorgang, wenn die Tabelle bereits Informationen enthält. Sie können zur Datensicherheit beitragen, indem Sie auf die direkte Umstrukturierung verzichten, und statt dessen die bisherige Tabelle mit RenTable umbenennen und die umbenannte Tabelle als Quelle angeben. Falls irgendetwas schiefgeht, können Sie immer noch auf die bisherige Tabelle zugreifen.


    tdbengine chat
    irc.tdbengine.org
    #tdbengine

       Copyright © 2003-2004 tdb Software Service GmbH
       Alle rechte vorbehalten. / All rights reserved
       Letzte Änderung: 21.10.2004
    {Fehler für :execmacro{execmacro="sessionspy"}