Inhaltsverzeichnis

22.4.7 Klasse Field (gb.db)

Die Klasse repräsentiert ein DB-Feld in einer (existierenden) DB-Tabelle. Die Klasse können Sie nicht erzeugen. Alle Eigenschaften können nur gelesen werden. Die Klasse verfügt weder über Methoden noch Ereignisse.

22.4.7.1 Eigenschaften

Die Klasse Field verfügt über die folgenden fünf Eigenschaften:

EigenschaftDatentypBeschreibung
CollationStringLiefert Angaben zur Sortierung des DB-Feldes.
NameStringLiefert den Namen des DB-Feldes.
TableTableLiefert das Tabellenobjekt, das dieses DB-Feld enthält.
TypeIntegerLiefert den Typ eines DB-Feldes. Eine der folgenden Konstanten für den Feld-Datentyp wird zurückgegeben: db.Blob (-2), db.Boolean (1), db.Date (8), db.Float (7), db.Integer (4), db.Long (5), db.Serial (-1) und db.String (9).
LengthIntegerGibt die maximale Länge eines Feldes zurück. Das gilt nur für Text-Felder. Den Typ eines DB-Feldes können Sie über die Eigenschaft `Field.Type` ermitteln. Wenn für das DB-Textfeld kein Limit angegeben wurde, dann wird 0 zurückgegeben.

Tabelle 22.4.7.1.1 : Eigenschaften der Klasse Field

Beispiel

  Dim hCollection As Collection
  Dim hTable As Table, hField As Field
 
  hCollection = ["-2": "db.Blob", "-1": "db.Serial", "1": "db.Boolean", "4": "db.Integer", "5": "db.Long",
                 "7": "db.Float", "8": "db.Date", "9": "db.String"]
 
  If DBCS.DBConnection.Tables.Exist("members") Then
 
'--- Die existierende DBTabelle `members` wird aktuelle DBTabelle    
     hTable = DBCS.DBConnection.Tables["members"]
 
     Print "DBTableName: "; hTable.Name
     Print "---------------------------------------"
     Print
     For Each hField In hTable.Fields
       Print "DBFeld-Name: "; hField.Name
       Print "--------------------------------------"
       Print "DBFeld-Collation: "; IIf(hField.Collation = Null, " Nicht festgelegt", hField.Collation)
       Print "DBFeld-Standardwert: "; IIf(hField.Default = Null, " Nicht festgelegt", hField.Default)
       Print "DBFeld-Typ: "; hCollection[hField.Type]
       If hField.Type = db.String Then 
          If hField.Length = 0 Then 
             Print "DBFeld-Länge: Kein Limit angegeben."
          Else
             Print "DBFeld-Länge: "; hField.Length
          Endif
       Endif
       Print
     Next
   Endif

Diese Ausgaben stehen in der Konsole der IDE:

DBTableName: members
---------------------------------------

DBFeld-Name: m_id
--------------------------------------
DBFeld-Collation:  Nicht festgelegt
DBFeld-Standardwert:  Nicht festgelegt
DBFeld-Typ: db.Serial

DBFeld-Name: lastname
--------------------------------------
DBFeld-Collation:  Nicht festgelegt
DBFeld-Standardwert:  Nicht festgelegt
DBFeld-Typ: db.String
DBFeld-Länge: Kein Limit angegeben.

DBFeld-Name: date
--------------------------------------
DBFeld-Collation:  Nicht festgelegt
DBFeld-Standardwert:  Nicht festgelegt
DBFeld-Typ: db.Date

DBFeld-Name: description
--------------------------------------
DBFeld-Collation:  Nicht festgelegt
DBFeld-Standardwert:  Nicht festgelegt
DBFeld-Typ: db.String
DBFeld-Länge: Kein Limit angegeben.

Download