OCIAnyDataAttrGet |
OCI : Demande l'accès à n'importe quel données |
---|---|
OCI avec C/C++ |
Syntaxe
sword OCIAnyDataAttrGet ( OCISvcCtx *svchp, OCIError *errhp, OCIAnyData *sdata, OCITypeCode tc, OCIType *attr_type, dvoid *null_ind, dvoid *attr_value, ub4 *length, boolean is_any ); |
Paramètres
Nom | Description |
---|---|
svchp | Ce paramètre permet d'indiquer le service de contexte OCI. |
errhp | Ce paramètre permet d'indiquer le gestionnaire d'erreur OCI. |
sdata | Ce paramètre permet d'indiquer un pointeur vers un OCIAnyData. |
tc | Ce paramètre permet d'indiquer le code de type de l'attribut. Ce paramètre est utilisé pour vérifier le type en fonction de tc, attr_type et des informations de type contenues dans OCIAnyData. |
attr_type | Ce paramètre permet d'indiquer la description du type référencé (pour OCI_TYPECODE_REF) ou celle du type de collection (pour OCI_TYPECODE_VARRAY, OCI_TYPECODE_TABLE) ou la description du type de l'objet (pour OCI_TYPECODE_OBJECT). Ce paramètre n'est pas requis pour les codes de types intégrés. |
null_ind | Ce paramètre permet d'indiquer si la valeur de attr_value est NULL. Passe (OCIInd *) dans null_ind pour tous les codes de type sauf OCI_TYPECODE_OBJECT. Si le code de type est OCI_TYPECODE_OBJECT, transmettez un pointeur (dvoid **) dans null_ind. L'indicateur renvoyé sera OCI_IND_NOTNULL si la valeur n'est pas NULL et il sera OCI_IND_NULL pour une valeur NULL. |
attr_value | Ce paramètre permet d'indiquer la valeur pour l'attribut. |
length | Ce paramètre est actuellement ignoré. Passez 0 ici. À l'avenir, cela pourrait être utilisé pour certains codes de type où la représentation des données elle-même ne donnera pas la longueur, en octets, de manière implicite. |
is_any | Ce paramètre permet d'indiquer si l'attribut doit-il être renvoyé sous la forme d'OCIAnyData. |
Description
Cette fonction permet de demander la valeur d'un attribut de la position courante dans OCIAnyData.
Remarques
- Cette fonction peut être utilisé avec OCIAnyData de code de type OCI_TYPECODE_OBJECT uniquement.
- Cette fonction permet de demander la valeur de l'attribut à la position actuelle dans OCIAnyData. tc doit correspondre au type de l'attribut à la position actuelle, sinon une erreur est renvoyée. is_any est applicable uniquement lorsque le type de code de l'attribut est l'un des suivants : OCI_TYPECODE_OBJECT, OCI_TYPECODE_VARRAY, OCI_TYPECODE_TABLE. Si is_any est TRUE, attr_value est renvoyé sous la forme OCIAnyData *.
- Vous devez allouer la mémoire pour l'attribut avant d'appeler la fonction. Vous pouvez allouer de la mémoire via OCIObjectNew(). Dans le cas de types intégrés tels que NUMBER, VARCHAR,..., l'attribut peut être simplement un pointeur sur une variable de pile. Voici la liste des types de données Oracle disponibles pouvant être utilisés en tant que types d'attributs d'objet et les types correspondants de la valeur d'attribut à transmettre :
Type de données | attr_value |
---|---|
VARCHAR2, VARCHAR, CHAR | OCIString ** |
NUMBER, REAL, INT, FLOAT, DECIMAL | OCINumber ** |
DATE | OCIDate ** |
TIMESTAMP | OCIDateTime ** |
TIMESTAMP WITH TIME ZONE | OCIDateTime ** |
TIMESTAMP WITH LOCAL TIME ZONE | OCIDateTime ** |
INTERVAL YEAR TO MONTH | OCIInterval ** |
INTERVAL DAY TO SECOND | OCIInterval ** |
BLOB | OCILobLocator ** ou OCIBlobLocator ** |
CLOB | OCILobLocator ** ou OCIClobLocator * |
BFILE | OCILobLocator ** |
REF | OCIRef ** |
RAW | OCIRaw ** |
VARRAY | OCIArray ** (ou OCIAnyData * si is_any est TRUE) |
TABLE | OCITable ** (ou OCIAnyData * si is_any est TRUE) |
OBJECT | dvoid ** (ou OCIAnyData * si is_any est TRUE) |
Dernière mise à jour : Dimanche, le 29 avril 2018