Freigeben über


DBGETPROP( )-Funktion

Gibt eine Eigenschaft der aktuellen Datenbank oder von Feldern, benannten Verbindungen, Tabellen oder Ansichten der aktuellen Datenbank zurück.

DBGETPROP(cName, cType, cProperty)

Rückgabewerte

Zeichen, Numerisch oder Logisch

Parameter

  • cName
    Gibt den Namen der momentan geöffneten Datenbank, des Feldes, der benannten Verbindung, der Tabelle oder der Sicht in der momentan geöffneten Datenbank an, für die DBGETPROP( ) Informationen zurückgibt.

    Wenn Sie Informationen über ein Feld einer Tabelle oder Sicht zurückgeben lassen möchten, muss dem Namen des Feldes der Name der Tabelle oder Sicht vorangestellt werden, die das Feld enthält. Geben Sie beispielsweise Folgendes für cName ein, damit Informationen zum Feld custid in der Tabelle customer zurückgegeben werden:

    customer.custid
    
  • cType
    Gibt an, ob es sich bei cName um die aktuelle Datenbank oder ein Feld, eine benannte Verbindung, eine Tabelle oder eine Sicht der aktuellen Datenbank handelt. In der folgenden Tabelle sind die Werte aufgeführt, die Sie für cType angeben können.

    cType Beschreibung
    CONNECTION cName ist eine benannte Verbindung in der aktuellen Datenbank.
    DATABASE cName ist die aktuelle Datenbank.
    FIELD cName ist ein Feld in der aktuellen Datenbank.
    TABLE cName ist eine Tabelle in der aktuellen Datenbank.
    VIEW cName ist eine Sicht in der aktuellen Datenbank.
  • cProperty
    Gibt den Namen der Eigenschaft an, zu der DBGETPROP( ) Informationen zurückgibt.

    In der folgenden Tabelle sind die möglichen Werte für cProperty, die Rückgabetypen und die Beschreibung der einzelnen Eigenschaften aufgeführt. Die Beschreibung enthält auch die Lese- und Schreibberechtigungen der einzelnen Eigenschaften. Ist eine Eigenschaft schreibgeschützt, kann ihr Wert mit DBSETPROP( ) nicht geändert werden. Weitere Informationen zum Ändern von Eigenschaftswerten finden Sie unter DBSETPROP( ).

    Verbindungseigenschaften

    cProperty Typ Beschreibung
    Asynchronous L Der Verbindungsmodus. Falsch (.F.) (Standard) gibt eine synchrone Verbindung an. Wahr (.T.) gibt eine asynchrone Verbindung an.
    Lesen/Schreiben.
    BatchMode L Der Batch-Verarbeitungsmodus. Wahr (.T.) (Standard) gibt an, dass die Verbindung im Batchmodus arbeitet.
    Lesen/Schreiben.
    Kommentar C Der Kommentartext zur Verbindung.
    Lesen/Schreiben.
    ConnectString C Verbindungszeichenfolge für den Anmeldevorgang.
    Lesen/Schreiben.
    ConnectTimeout N Zeitüberschreitungsintervall für Verbindungen in Sekunden. Der Standardwert lautet 0 (unbegrenzt warten).
    Lesen/Schreiben.
    Database C Der Name der Serverdatenbank, der in der DATABASE-Klausel des CREATE CONNECTION-Befehls oder im Verbindungs-Designer angegeben ist.
    Lesen/Schreiben.
    DataSource C Der Name der Datenquelle, wie er in der Datei Odbc.ini definiert ist.
    Lesen/Schreiben.
    DispLogin N Ein numerischer Wert, der festlegt, wann das ODBC-Anmeldedialogfeld angezeigt wird. DispLogin kann die folgenden Werte annehmen:

    1 oder DB_PROMPTCOMPLETE (aus FOXPRO.H). 1 ist die Standardeinstellung.

    2 oder DB_PROMPTALWAYS (aus Foxpro.h).

    3 oder DB_PROMPTNEVER (aus Foxpro.h).

    Wird 1 oder DB_PROMPTCOMPLETE angegeben, zeigt Microsoft Visual FoxPro das ODBC-Anmeldedialogfeld nur an, wenn erforderliche Informationen fehlen.

    Wird 2 oder DB_PROMPTALWAYS angegeben, dann wird das ODBC-Anmeldedialogfeld immer angezeigt, so dass Sie Einstellungen ändern können, bevor die Verbindung hergestellt wird.

    Wird 3 oder DB_PROMPTNEVER angegeben, so wird das ODBC-Anmeldedialogfeld nicht angezeigt, und Visual FoxPro generiert einen Fehler, wenn die erforderlichen Anmeldeinformationen nicht verfügbar sind.
    Lesen/Schreiben.

    DispWarnings L Enthält einen logischen Wert, der festlegt, ob nicht auffangbare Fehler, die von der Remotetabelle, ODBC oder Visual FoxPro stammen, angezeigt werden. Wahr (.T.) (Standard) gibt an, dass nicht auffangbare Fehler angezeigt werden.
    Lesen/Schreiben.
    IdleTimeout N Leerlauf-Zeitüberschreitungsintervall in Sekunden. Aktive Verbindungen werden nach dem hier angegebenen Zeitintervall deaktiviert. Der Standardwert lautet 0 (unbegrenzt warten).
    Lesen/Schreiben.
    PacketSize N Größe des Netzwerkpakets, die von der Verbindung verwendet wird. Das Anpassen dieses Wertes kann die Leistung steigern. Der Standardwert ist 4096 Byte (4KB).
    Lesen/Schreiben
    PassWord C Verbindungskennwort
    Lesen/Schreiben.
    QueryTimeout N Zeitüberschreitungsintervall für Abfragen in Sekunden. Der Standardwert lautet 0 (unbegrenzt warten).
    Lesen/Schreiben.
    Transactions N Enthält einen numerischen Wert, der festlegt, wie die Verbindung Transaktionen bei der Remotetabelle verwaltet. Transactions kann einen der folgenden Werte haben:

    1 oder DB_TRANSAUTO (aus Foxpro.H). 1 ist die Standardeinstellung. Die Transaktionsverarbeitung für die Remotetabelle erfolgt automatisch.

    2 oder DB_TRANSMANUAL (aus Foxpro.h). Die Transaktionsverarbeitung wird manuell über SQLCOMMIT( ) und SQLROLLBACK( ) verwaltet.

    Lesen/Schreiben.

    UserId C Benutzer-ID
    Lesen/Schreiben.
    WaitTime N Die Zeit (in Millisekunden), die vergeht, bevor Visual FoxPro überprüft, ob die Ausführung der SQL-Anweisung beendet ist. Der Standardwert ist 100 Millisekunden.
    Lesen/Schreiben.

    Datenbankeigenschaften

    cProperty Typ Beschreibung
    Kommentar C Der Kommentar zur Datenbank.
    Lesen/Schreiben.
    DBCEventFileName C Der relative Pfad und Dateiname einer externen Programmdatei mit einem Datenbankereigniscode.
    DBCEvents L Aktivierter Status von Datenbankereignissen. Muss zum Aktivieren auf .T. festgelegt werden.
    Version N Die Versionsnummer der Datenbank.
    Schreibgeschützt.

    Feldeigenschaften für Tabellen

    cProperty Typ Beschreibung
    Caption C Die Feldbeschriftung.
    Lesen/Schreiben.
    Kommentar C Der Kommentar zum Feld.
    Lesen/Schreiben.
    DefaultValue C Der Standardwert des Feldes.
    Schreibgeschützt.
    DisplayClass C Der Name der Klasse, die für die Klassenzuordnung zu Feldern verwendet wird.
    Lesen/Schreiben.
    DisplayClassLibrary C Der Pfad zu der mit der DisplayClass-Eigenschaft angegebenen Klassenbibliothek.
    Lesen/Schreiben.
    Format C Anzeigeformat des Feldes. Eine Liste der Formateinstellungen finden Sie unter Format-Eigenschaft.
    Lesen/Schreiben.
    InputMask C Eingabeformat des Feldes. Eine Liste der Einstellungen für Eingabemasken finden Sie unter InputMask-Eigenschaft.
    Lesen/Schreiben.
    RuleExpression C Der Ausdruck, der die Feldregel angibt.
    Schreibgeschützt.
    RuleText C Der Fehlertext für die Feldregel.
    Schreibgeschützt.

    Feldeigenschaften für Sichten (Ansichten)

    cProperty Typ Beschreibung
    Caption C Die Feldbeschriftung.
    Lesen/Schreiben.
    Kommentar C Der Kommentar zum Feld.
    Lesen/Schreiben.
    DataType C Datentyp eines Feldes in einer Sicht. Wird anfangs auf den Datentyp des Feldes in der Datenquelle eingestellt.

    Zum Angeben eines anderen Datentyps für ein Feld mit DBSETPROP( ) verwenden Sie die Syntax zum Erstellen von Feldern in CREATE TABLE – SQL.

    Wenn Sie z. B. den Datentyp eines ganzzahligen (Integer) Feldes mit dem Namen "iCost" in einer Tabelle mit dem Namen "Mytable" in den Datentyp Numerisch ändern möchten und dieses Feld eine Breite von 4 Ziffern und 2 Dezimalstellen aufweisen soll, verwenden Sie folgende Syntax:

    DBSETPROP('mytable.icost', 'field', ; 'DataType', 'N(4,2)')

    Sie können die NOCPTRANS-Klausel angeben, um die Übersetzung von Zeichen- und Memofeldern gemäß einer anderen Codepage zu verhindern.

    Lesen/Schreiben für Remoteansichten.

    DefaultValue C Der Standardwert des Feldes.
    Lesen/Schreiben.
    KeyField L Enthält Wahr (.T.), wenn das Feld in einem Indexschlüsselausdruck angegeben ist; enthält anderenfalls Falsch (.F.).
    Lesen/Schreiben.
    RuleExpression C Der Ausdruck, der die Feldregel angibt.
    Lesen/Schreiben.
    RuleText C Der Fehlertext für die Feldregel.
    Lesen/Schreiben.
    Updatable L Enthält Wahr (.T.), wenn das Feld aktualisiert werden kann; enthält anderenfalls Falsch (.F.).
    Lesen/Schreiben.
    UpdateName C Der Name des Feldes, der verwendet wird, wenn Daten in dem Feld in der Remotetabelle aktualisiert werden. Standardmäßig ist dies der Feldname in der Remotetabelle.
    Lesen/Schreiben.

    Tabelleneigenschaften

    cProperty Typ Beschreibung
    Kommentar C Der Kommentar zur Tabelle.
    Lesen/Schreiben.
    DeleteTrigger C Der Ausdruck, der den DELETE-Trigger angibt.
    Schreibgeschützt.
    InsertTrigger C Der Ausdruck, der den INSERT-Trigger angibt.
    Schreibgeschützt.
    Path C Der relative Pfad im Hinblick auf die Datenbank zur Tabelle mit dem Namen der Datei.
    Schreibgeschützt.
    PrimaryKey C Der Name des Indexes, der als Primärschlüsel fungiert.
    Schreibgeschützt.
    RuleExpression C Der Ausdruck, der die Zeilenregel angibt.
    Schreibgeschützt.
    RuleText C Der Fehlertext für die Zeilenregel.
    Schreibgeschützt.
    UpdateTrigger C Der Ausdruck, der den UPDATE-Trigger angibt.
    Schreibgeschützt.

    Sichteigenschaften

    cProperty Typ Beschreibung
    BatchUpdateCount N Anzahl der Aktualisierungsanweisungen, die für Sichten (Ansichten) an den Back-End-Server gesendet werden. Die Standardeinstellung ist 1. Durch die Anpassung dieses Wertes kann die Aktualisierungsleistung erheblich verbessert werden.
    Lesen/Schreiben.
    Kommentar C Der Kommentar zur Sicht.
    Lesen/Schreiben.
    CompareMemo L Enthält den Standardwert Wahr (.T.), wenn in der WHERE-Klausel für Aktualisierungen Memofelder (Typ Memo, Objekt oder Bild) berücksichtigt werden, andernfalls ist der Wert Falsch (.F.).
    Lesen/Schreiben.
    ConnectName C Die benannte Verbindung, die verwendet werden soll, wenn die Sicht geöffnet wird.
    Schreibgeschützt.
    FetchAsNeeded L Enthält Wahr (.T.), wenn Daten nur bei Bedarf abgerufen werden, andernfalls enthält diese Eigenschaft den Standardwert Falsch (.F.).
    Lesen/Schreiben.
    FetchMemo L Enthält Wahr (.T.) (Standard), wenn Memo- und Objektfelder zusammen mit den Ergebnissen der Sicht abgerufen werden; enthält anderenfalls Falsch (.F.).
    Lesen/Schreiben.
    FetchSize N Anzahl der Datensätze, die gleichzeitig aus den Remotetabellen abgerufen werden (sofern das kontinuierliche Lesen aktiviert ist). Der Standardwert liegt bei 100 Datensätzen. Das gesamte Resultset (soweit durch MaxRecords zulässig) wird abgerufen, wenn FetchSize auf -1 gesetzt ist.
    Lesen/Schreiben.
    MaxRecords N Maximale Anzahl an Datensätzen, die bei der Rückgabe von Resultsets gelesen werden. Der Standardwert ist -1 (alle Zeilen werden zurückgegeben). Ein Wert von 0 bewirkt, dass die Sicht zwar ausgeführt wird, aber keine Ergebnisse abgerufen werden.
    Lesen/Schreiben.
    Offline L Enthält den Wert Wahr (.T.), wenn es sich bei der Sicht um eine Offlinesicht handelt. Schreibgeschützt.
    ParameterList C Parameter der WHERE-Klausel. Das Format der Parameter ist "ParameterName1, 'Type1'; ParameterName2, 'Type2'; ...", wobei Type eines der folgenden Zeichen zur Angabe des Parametertyps ist:

    C: Zeichen; D: Datum; T: DatumZeit; N: Numerisch–; F: Gleitkomma; B: Double; I: Integer; Y: Währung–; L: Logisch

    Beispielsweise gibt "MyParam1, 'C' " einen Parameter vom Typ Zeichen mit dem Namen "MyParam1" an.

    Weitere Informationen zum Erstellen von parametrisierten Sichten finden Sie unter Erstellung von Ansichten.
    Lesen/Schreiben.

    Prepared L Enthält den Wert Wahr (.T.), wenn SQL-Anweisungen für nachfolgende REQUERY( )-Funktionsaufrufe vorbereitet werden. Mit REQUERY( ) können die Daten einer SQL-Sicht erneut abgerufen werden. Weitere Informationen zum Vorbereiten von SQL-Anweisungen finden Sie unter SQLPREPARE( ). Der Standardwert lautet Falsch (.F.).
    Lesen/Schreiben.
    RuleExpression C Der Ausdruck, der die Zeilenregel angibt.
    Lesen/Schreiben.
    RuleText C Der Regeltext, der angezeigt wird, wenn beim Bearbeiten von Daten in einem Datenblatt- oder Bearbeitungsfenster ein Fehler auftritt.
    Lesen/Schreiben.
    SendUpdates L Enthält Wahr (.T.), wenn eine SQL-Aktualisierungsabfrage gesendet wird, um Remotetabellen zu aktualisieren; enthält anderenfalls Falsch (.F.) (Standard).
    Lesen/Schreiben.
    ShareConnection L Enthält Wahr (.T.), wenn die Sicht ihren verbindungshandle mit anderen Verbindungen gemeinsam nutzen kann; enthält anderenfalls Falsch (.F.).
    Lesen/Schreiben.
    SourceType N Datenquelle der Sicht. SourceType kann einen der folgenden Werte haben:

    1. Die Sicht verwendet lokale Tabellen.

    2. Die Sicht verwendet Remotetabellen.
    Schreibgeschützt.

    SQL C Die SQL-Anweisung, die beim Öffnen der Sicht ausgeführt wird.
    Schreibgeschützt.
    Tabellen C Eine durch Kommas getrennte Liste der Tabellennamen.
    Lesen/Schreiben.
    UpdateType N Aktualisierungstyp. Folgende Werte sind möglich:

    1 oder DB_UPDATE (aus Foxpro.h). Die alten Daten werden durch die neuen Daten aktualisiert (Standard).

    2 oder DB_DELETEINSERT (aus Foxpro.h). Die alten Daten werden gelöscht, und die neuen Daten werden eingefügt.
    Lesen/Schreiben.

    UseMemoSize N Die Mindestgröße (in Bytes), bei der Ergebnisspalten in Memofeldern zurückgegeben werden. Ist die Breite einer Ergebnisspalte größer als der Wert von UseMemoSize, so wird die Ergebnisspalte in ein Memofeld geschrieben. Der Wert von UseMemoSize kann zwischen 1 und 255 liegen, der Standardwert ist 255.
    Lese-/Schreibzugriff.
    WhereType N Die WHERE-Klausel für Aktualisierungen in Remotetabellen. WhereType kann einen der folgenden Werte haben:

    1 oder DB_KEY (aus Foxpro.h). Die WHERE-Klausel zum Aktualisieren von Remotetabellen besteht nur aus den mit der KeyFieldList-Eigenschaft angegebenen Schlüsselfeldern.

    2 oder DB_KEYANDUPDATABLE (aus Foxpro.h). Die WHERE-Klausel zum Aktualisieren von Remotetabellen besteht aus den mit der KeyFieldList-Eigenschaft angegebenen Schlüsselfeldern und allen aktualisierbaren Feldern.

    3 oder DB_KEYANDMODIFIED (aus Foxpro.h) (Standard). Die WHERE-Klausel zum Aktualisieren von Remotetabellen besteht aus den mit der KeyFieldList-Eigenschaft angegebenen Schlüsselfeldern und allen anderen Feldern, die aktualisiert werden.

    4 oder DB_KEYANDTIMESTAMP (aus Foxpro.h). Die WHERE-Klausel zum Aktualisieren von Remotetabellen besteht aus den mit der KeyFieldList-Eigenschaft angegebenen Schlüsselfeldern und einem Vergleich der Zeitstempelfelder.

    Weitere Informationen zur WhereType-Eigenschaft finden Sie unter Erstellung von Ansichten.

    Lesen/Schreiben.

Hinweise

Bevor Sie die Eigenschaften einer Datenbank, ihrer Verbindungen, Tabellen, Sichten oder Felder lesen können, muss die Datenbank geöffnet werden. Hingegen muss eine Tabelle oder Sicht nicht mit dem USE-Befehl geöffnet werden, bevor ihre Eigenschaften gelesen werden können.

Weitere Informationen zu den Eigenschaften, die für Verbindungen, Datenbanken, Felder, Tabellen und Sichten abgerufen werden können, finden Sie in den in der folgenden Tabelle aufgelisteten Themen.

Informationen zu Finden Sie unter Im Abschnitt
Datenbankeigenschaften Anzeigen und Festlegen von Datenbankeigenschaften Funktionsweise von Tabellen
Verbindungen Zugreifen auf Remotedaten Erstellung von Ansichten
Ansichten   Erstellung von Ansichten
Trigger Verwendung von Triggern Funktionsweise von Tabellen
Beschriftungen Steuern der Anzeige von Feldern Funktionsweise von Tabellen
Standardwerte Erstellen von Standardfeldwerten Funktionsweise von Tabellen
  Festlegen von Standardwerten für die Felder einer Ansicht Erstellung von Ansichten
Kommentar "Hinzufügen von Kommentaren zu Feldern" unter Auswählen von Datentypen Funktionsweise von Tabellen
  Anzeigen und Festlegen von Datenbankeigenschaften Erstellen von Datenbanken
Primärschlüssel Steuern von Duplikatwerten Funktionsweise von Tabellen
Regeln Erzwingen von Geschäftsregeln Funktionsweise von Tabellen
  Festlegen oder Ändern von Gültigkeitsregeln auf Feld- oder Datensatzebene Funktionsweise von Tabellen
  Erstellen von Regeln für Felder und Datensätze einer Ansicht Erstellung von Ansichten

Beispiel

Im folgenden Beispiel wird der Name des Primärschlüsselfeldes für die Tabelle customer angezeigt. Anschließend werden die Feldkommentare für das Feld cust_id in der Tabelle customer angezeigt. Sind für das Feld keine Kommentare vorhanden, wird dies in einer Meldung angezeigt. Informationen dazu, wie Sie Feldkommentare hinzufügen, finden Sie im Beispiel zur Funktion DBSETPROP( ).

CLOSE DATABASES
CLEAR

OPEN DATABASE (HOME(2) + 'Data\testdata')

* Displays the primary key field
cResults = DBGETPROP("customer", "Table", "PrimaryKey")
=MESSAGEBOX(cResults)   && Displays    'cust_id'

* Displays comments for the field 'cust_id'
cResults = DBGETPROP("customer.cust_id", "Field", "Comment")
IF LEN(ALLTRIM(cResults)) = 0
   =MESSAGEBOX("No Comment for this field." + CHR(13) + ;
     CHR (13) + "Use DBSETPROP( ) to add comments.")
ELSE
   =MESSAGEBOX("Cust_id field comments: " + cRESULTS)
ENDIF

Siehe auch

ADD TABLE | CREATE CONNECTION | CREATE DATABASE | CREATE SQL VIEW | CURSORGETPROP( ) | CURSORSETPROP( ) | DBSETPROP( ) | DISPLAY DATABASE | LIST DATABASE | RENAME CONNECTION | SQLCOMMIT( ) | SQLROLLBACK( )