Freigeben über


dbc_BeforeDBSetProp-Ereignis

Tritt auf, bevor DBSetProp( ) ausgeführt wird.

PROCEDURE dbc_BeforeDBSetProp(cName, cType, cProperty, ePropertyValue) 

- oder -

PROCEDURE dbc_BeforeDBSetProp
LPARAMETERS cName, cType, cProperty, ePropertyValue
  • cName
    Gibt den Wert des ersten Parameters in der DBSetProp( )-Funktion an, also den Namen der Datenbank, des Feldes, der benannten Verbindung, Tabelle oder Ansicht, für das bzw. die DBSETPROP( ) den Wert ändert.
  • cType
    Gibt den Wert des zweiten Parameters in der DBSetProp( )-Funktion an, also den Objekttyp des in cName benannten Elements.
  • cProperty
    Gibt den Wert des dritten Parameters in der DBSetProp( )-Funktion an, also die Eigenschaft, für die DBSETPROP( ) den Wert ändert.
  • ePropertyValue
    Gibt den Wert des vierten Parameters in der DBSetProp( )-Funktion an, also den Wert, der der Eigenschaft in cProperty zugewiesen werden soll.

Weitere Informationen zu gültigen Werten für cType und cProperty finden Sie in der Hilfe unter DBSETPROP( )-Funktion und DBGETPROP( )-Funktion.

Hinweise

Mit dem dbc_BeforeDBSetProp-Ereignis können Sie Zugriffsversuche auf die Datenbank vor der Ausführung von DBSETPROP( ) überwachen.

Wenn Sie verhindern möchten, dass der Wert für die Eigenschaft festgelegt wird, sollten Sie Falsch (.F.) als Rückgabewert für diese Prozedur festlegen. Dies führt dazu, dass die DBSetProp( )-Funktion .F. zurückgibt.

Einige Eigenschaftswerte können mit DBSetProp( ) oder mit einem Designer geändert werden. So können Sie z. B. die Comment-Eigenschaft für eine Tabelle sowohl mit DBSetProp( ) als auch mit dem Tabellen-Designer ändern. DBSetProp( ) nimmt Änderungen direkt an der Datenbank vor. Deshalb werden von dbc_BeforeModifyTable oder dbc_AfterModifyTable Änderungen nicht erfasst, die mit DBSETPROP( ) vorgenommen werden. Wenn Sie Änderungen abfangen möchten, die auf eine der möglichen Weisen durchgeführt wurden, müssen Sie mit dbc_BeforeDBSetProp, dbc_AfterDBSetProp, dbc_BeforeModifyTable und dbc_AfterModifyTable prüfen, ob die entsprechenden Änderungen durchgeführt wurden.

Beispiel

* Reports to the screen Event name, where it is called from and ;
* the parameter passed.
PROCEDURE dbc_BeforeDBSetProp ;
         (cName,;
          cType,;
          cProperty,;
          ePropertyValue)
 ? '>>   ' + PROGRAM()
 ?? ' in ' + SUBSTR(SYS(16),RAT('\',SYS(16))+1)
 ? '     Current DBC:     ' + SUBSTR(DBC(),RAT('\',DBC())+1)
 ? '     cName          = ' + TRANSFORM(cName)          + ' - ' + TYPE('cName')
 ? '     cType          = ' + TRANSFORM(cType)          + ' - ' + TYPE('cType')
 ? '     cProperty      = ' + TRANSFORM(cProperty)      + ' - ' + TYPE('cProperty')
 ? '     ePropertyValue = ' + TRANSFORM(ePropertyValue) + ' - ' + TYPE('ePropertyValue')+' /end/ '
ENDPROC

Siehe auch

Aktivieren oder Deaktivieren von DBC-Ereignissen | dbc_AfterDBSetProp-Ereignis