C16_KeyFldInfo
C16_KeyFldInfo(const vPHANDLE aInstHdl, const vINT aFileNo, const vINT aKeyNo, const vINT aKeyFldNo, vC16_KeyFldInfo* aInfoBlock) : vERROR
Informationen über ein Schlüsselfeld ermitteln
Details
- aInstHdl: Instanz-Handle
- aFileNo: Dateinummer
- aKeyNo: Schlüsselnummer
- aKeyFldNo: Nummer des Schlüsselfeldes
- aInfoBlock: Informationsstruktur
- Resultat: vERROR Fehlerwert
- Siehe: Befehle der Programmierschnittstelle , C16_KeyInfo() , C16_KeyInfoByName()
Der Befehl füllt eine Struktur vom Typ vC16_KeyFldInfo mit Informationen zu einem in der Datenstruktur definierten Schlüsselfeld. Die Struktur ist folgendermaßen definiert:
typedef struct
{
vINT InfoSize;
vINT KeyFldFileNumber;
vINT KeyFldSbrNumber;
vINT KeyFldNumber;
vBYTE KeyFldType;
vBYTE KeyFldAttributes;
vBYTE KeyFldMaxLen;
vBYTE reserved;
vCHAR KeyFldName[24];
}
vC16_KeyFldInfo;
- Komponente: Beschreibung
- InfoSize: Größe der Struktur
- KeyFldFileNumber: Nummer der Datei, in der das Schlüsselfeld definiert ist
- KeyFldSbrNumber: Nummer des Teildatensatzes, in dem das Schlüsselfeld definiert ist
- KeyFldNumber: Nummer des Schlüsselfelds
- FldTyp: Feldtyp entsprechender C-Typ 1 _TypeAlpha alphanumerisch vBYTE[FldLen + 2] 2 _TypeDate Datum vDATE 4 _TypeWord ganzzahlig kurz vWORD 7 _TypeInt ganzzahlig lang vLONGs 9 _TypeFloat numerisch vFLOAT 10 _TypeLogic logisch vBOOL8 11 _TypeTime Zeit vTIME
- KeyFldAttributes: Attribute des Schlüsselfeldes 0x02 _KeyFldAttrUpperCase Großschreibung 0x04 _KeyFldAttrUmlaut Umlaute in alphabetischer Sortierung 0x08 _KeyFldAttrSpecialChars ohne Sonderzeichen 0x10 _KeyFldAttrSoundex1 Soundex Stufe 1 0x20 _KeyFldAttrSoundex2 Soundex Stufe 2 0x40 _KeyFldAttrReverse absteigende Sortierung Die einzelnen Attribute sind gesetzte Bits des Resultats. Um ein einzelnes Attribut abzufragen, wird das Resultat mit einem binären UND kombiniert.
- KeyFldMaxLen: Die definierte maximallänge des Schlüsselfeldes
- reserved: Nicht benutzt (Alignment-Byte)
- KeyFldName[24]: Name des Schlüsselfelds
Im Parameter (aInstHdl) wird der von C16_InitInstance() bereitgestellte Instanz-Handle, der in der Funktion C16_OpenArea() zum Öffnen der Datenbank verwendet wurde, übergeben. In den Parametern (aFileNo), (aKeyNo) und (aKeyFldNo) müssen sich die Dateinummer, die Schlüsselnummer und die Nummer des Schlüsselfeldes befinden, von dem die Informationen abgefragt werden sollen. In (aInfoBlock) wird ein Zeiger auf eine Informationsstruktur vom Typ vC16_KeyFldInfo übergeben. Die Strukturkomponente InfoSize muss vor der Übergabe mit der Größe der Struktur initialisiert werden (sizeof(vC16_KeyFldInfo)).
Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler) oder einen negativen Fehlerwert (siehe Fehlerwerte ).