JetSetColumnDefaultValue-Funktion

Gilt für: Windows | Windows Server

JetSetColumnDefaultValue-Funktion

Die JetSetColumnDefaultValue-Funktion kann verwendet werden, um den Standardwert einer vorhandenen Spalte zu ändern.

    JET_ERR JET_API JetSetColumnDefaultValue(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_PCSTR szTableName,
      __in          JET_PCSTR szColumnName,
      __in          const void* pvData,
      __in          const unsigned long cbData,
      __in          const JET_GRBIT grbit
    );

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet werden soll.

dbid

Die Datenbank, die für diesen Aufruf verwendet werden soll.

szTableName

Der Name der Tabelle, die die betroffene Spalte enthält.

szColumnName

Der Name der Spalte, deren Standardwert geändert wird.

pvData

Der Eingabepuffer, der den neuen Standardwert enthält.

cbData

Die Größe des Eingabepuffers, der den neuen Standardwert enthält.

grbit

Für die zukünftige Verwendung reserviert.

Rückgabewert

Diese Funktion gibt den JET_ERR-Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errColumnIllegalNull

Identisch mit JET_errNullInvalid.

JET_errColumnInUse

Diese angegebene Spalte wird derzeit von einem Index verwendet.

JetSetColumnDefaultValue kann den Standardwert einer Spalte nicht ändern, auf die in der Definition eines Index verwiesen wird. Dies liegt daran, dass dadurch der Inhalt des Indexes geändert werden könnte.

JET_errColumnNotFound

Diese angegebene Spalte ist für diese Tabelle nicht vorhanden.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da beim instance, der der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errInvalidDatabaseId

Die angegebene Datenbank-ID war ungültig.

JET_errInvalidName

Einer der angegebenen Objektnamen war ungültig. Alle Objektnamen müssen demselben Regelsatz entsprechen. Nachfolgend sind diese Regeln aufgeführt:

  • Objektnamen müssen aus ASCII-Zeichen bestehen.

  • Objektnamen müssen mindestens ein Zeichen lang sein.

  • Objektnamen dürfen JET_cbNameMost (64) Zeichen länge nicht überschreiten.

  • Objektnamen beginnen möglicherweise nicht mit einem Leerzeichen.

  • Objektnamen dürfen keine ASCII-Steuerelementzeichen enthalten (0x00 bis 0x1F).

  • Objektnamen dürfen kein Ausrufezeichen (!), Punkt (.), linke Klammer ([) oder rechte Klammer (]) enthalten.

  • Nach der Überprüfung wird nur der Teil der Zeichenfolge bis zum ersten Leerzeichen (falls vorhanden) für den Objektnamen verwendet. Dies bedeutet, dass Objektnamen möglicherweise auch kein Leerzeichen enthalten.

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde.

JET_errNullInvalid

Die Spalte konnte nicht auf NULL festgelegt werden. Dies geschieht für JetSetColumnDefaultValue in folgenden Fällen:

  • cbData ist null.

  • pvData ist NULL.

Daher ist es nicht möglich, den Standardwert einer Spalte (zurück) auf NULL oder auf einen Wert der Länge null festzulegen.

JET_errObjectNotFound

Diese angegebene Tabelle ist für diese Datenbank nicht vorhanden.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird.

JET_errSessionSharingViolation

Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errTableInUse

Diese angegebene Tabelle wird von einer anderen Sitzung verwendet.

JetSetColumnDefaultValue erfordert exklusiven Zugriff auf eine Tabelle, um den Standardwert der Spalte für Versionen vor Windows Server 2003 zu ändern.

JET_errTermInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird.

JET_errTransReadOnly

Es ist unzulässig, eine Aktualisierung zu versuchen, wenn sich innerhalb des Bereichs einer schreibgeschützten Transaktion befindet. Eine schreibgeschützte Transaktion ist eine Transaktion, die mithilfe eines Aufrufs von JetBeginTransaction2 mit JET_bitTransactionReadOnly gestartet wurde. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben.

JET_errWriteConflict

Eine andere Sitzung hat den Datensatz zuvor für die Aktualisierung gesperrt. Das von dieser Sitzung versuchte Update schlägt fehl.

Bei Erfolg wird der Standardwert der angegebenen Spalte in der angegebenen Tabelle in der angegebenen Datenbank dauerhaft in den neuen Standardwert geändert.

Bei einem Fehler tritt keine Änderung des Datenbankstatus auf.

Bemerkungen

Es ist nicht möglich, den Standardwert einer Spalte in einer Vorlagentabelle zu ändern.

Die Datenbank-Engine schneidet den Standardwert einer Spalte unbeaufsichtigt auf 255 Bytes für lange Text- und lange Binärspalten ab.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetSetColumnDefaultValueW (Unicode) und JetSetColumnDefaultValueA (ANSI).

Weitere Informationen

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService