![]() |
||||||
SCR/AL1 - TOME III. Les librairies utilitaires
Syntax
OBindCol(OCSR *ocsr, int colnb, char *ptr)
Description
Détermine l'adresse à laquelle les fonctions ONext() et OPrevious() vont placer les valeurs des colonnes d'un dataset résultant de OQuery(). Ces valeurs sont également utilisées par les fonctions OWrite() et ORewrite().
Une valeur par défaut est fixée par la fonction OQuery().
L'appel suivant à OGetCol() fournira le nouveau pointeur.
Dans le cas de champs de longueur variable (p.ex. LONGVARTEXT), une valeur interne est conservée pour permettre une allocation à chaque lecture du buffer. OBindCol() est donc inutile dans ce cas.
Le pointeur ptr doit être statique ou alloué. Il ne faut pas utiliser une variable locale. De plus, pour les champs de texte, l'espace doit être suffisant (y compris un caractère nul en fin de string).
Valeur retournée
0 en cas de succès, -1 en cas d'erreur. La fonction OError() peut être appelée pour obtenir un message d'erreur complet.
Exemple
static char szClientName[50];
OCSR *ocsr;
ocsr = OQuery(odsn, "SELECT * from client");
if(ocsr == 0) {
printf("Bind:%s\n", OError());
return(-1);
}
if(OBindCol(ocsr, 2, szClientName)) {
printf("Bind:%s\n", OError());
return(-1);
}
return(0);
Voir également
OQuery(), ONext(), OPrevious(), OGetCol()
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be