Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME III. Les librairies utilitaires

25. Le groupe s_odbc

25.14 OQuery (file s_odbc.c:598)

Syntax

OCSR *OQuery(ODSN *odsn, char *qury)

Description

Effectue une recherche (SELECT) et crée un "curseur" sur le dataset résultat. Bien que n'importe quelle requête puisse être exécutée par cette fonction, il est préférable de ne l'utiliser que pour les SELECT. La fonction OSql() permet d'exécuter une requête quelconque.

Le résultat est obtenu sous forme d'un dataset dans lequel on peut se déplacer à l'aide de ONext() ou OPrevious() (selon le driver, cette dernière fonction peut ne pas fonctionner).

Ce dataset est static. Il ne connaît donc pas les modifications apportées par un autre utilisateur aux records de la base de données.

Pour obtenir le pointeur sur la valeur d'une colonne, il suffit d'appeler la fonction OGetCol(). Si on ignore le type de la colonne, celui-ci peut être obtenu en consultant la structure ocsr->otbl.

Aucun enregistrement n'est lu par la fonction OQuery(). Il faut appeler ONext() pour que le premier enregistrement (s'il y en a un) soit lu.

Valeur retournée

Pointeur vers une structure OCSR qui contient les informations sur les colonnes de la table résultant de le requête. Pointeur nul en cas d'erreur.

Exemple

    ODSN    *odsn = 0;
OCSR *ocsr = 0;

odsn = OOpenDSN(dsname, user, pwd);
if(odsn == 0) {
printf("Error : Cannot open %s\n", dsname);
}
else {
ocsr = OQuery(odsn, "SELECT * from clients");
if(ocsr == 0)
printf("Query failed : %s\n", OError());
else {
while(ONext(ocsr) == 0) {
OPrintRow(ocsr);
}
OFreeOCSR(ocsr);
}
}
OCloseDSN(odsn);
}

Voir également

ONext(), OPrevious(), OSql(), OBindCol(), OGetCol()

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be