Le Fri, 05 Oct 2007 12:12:57 +0200, raleur a écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open(); OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn); OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users", oConn)) { nbEnreg = (int)cmd.ExecuteScalar(); }
Cordialement
-- Gilles TOURREAU
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
raleur
Gilles TOURREAU a écrit :
Le Fri, 05 Oct 2007 12:12:57 +0200, raleur a écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open(); OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn); OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users", oConn)) { nbEnreg = (int)cmd.ExecuteScalar(); }
Cordialement
N'est-il pas possible tout simplement alors de savoir si la requete renvoi plusieurs enregistrement ou alors aucun enregistrement, sans obligatoirement en connaitre le nombre.
Gilles TOURREAU a écrit :
Le Fri, 05 Oct 2007 12:12:57 +0200, raleur <ralekhal@laposte.net> a écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open();
OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn);
OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette
requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un
DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users",
oConn))
{
nbEnreg = (int)cmd.ExecuteScalar();
}
Cordialement
N'est-il pas possible tout simplement alors de savoir si la requete renvoi plusieurs enregistrement
ou alors aucun enregistrement, sans obligatoirement en connaitre le nombre.
Le Fri, 05 Oct 2007 12:12:57 +0200, raleur a écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open(); OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn); OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users", oConn)) { nbEnreg = (int)cmd.ExecuteScalar(); }
Cordialement
N'est-il pas possible tout simplement alors de savoir si la requete renvoi plusieurs enregistrement ou alors aucun enregistrement, sans obligatoirement en connaitre le nombre.
Christophe Lephay
"raleur" a écrit dans le message de news: 4706dfa2$0$27412$
Gilles TOURREAU a écrit :
Le Fri, 05 Oct 2007 12:12:57 +0200, raleur a écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open(); OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn); OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users", oConn)) { nbEnreg = (int)cmd.ExecuteScalar(); }
Cordialement
N'est-il pas possible tout simplement alors de savoir si la requete renvoi plusieurs enregistrement ou alors aucun enregistrement, sans obligatoirement en connaitre le nombre.
DbDataReader est un flux. Par définition, un flux est une file (ou queue) et par conséquent, toujours par définition, le seul élément que tu peux y lire est celui qui se trouve en tête de file.
En revanche, tu as une propriété HasRows (booléen) qui te permet de savoir si le flux contient quelque chose ou non.
L'intéret d'utiliser un flux comme abstraction permet notamment au système de décomposer un gros ensemble de données en plusieurs plus petits, afin d'optimiser les ressources (dont la bande passante ou la mémoire) de manière complètement transparente. Si ta requete sql te renvoie 100000 enregistrements, il serait tout à fait possible, par exemple, qu'ils ne te soient envoyés que par 1000, de manière progressive et incrémentielle, te permettant ainsi de lire le flux et commencer à en traiter les données au fur et à mesure que le système les y envoie, sans devoir attendre que les données n'aient été effectivement transmises dans leur intégralité.
"raleur" <ralekhal@laposte.net> a écrit dans le message de news:
4706dfa2$0$27412$ba4acef3@news.orange.fr...
Gilles TOURREAU a écrit :
Le Fri, 05 Oct 2007 12:12:57 +0200, raleur <ralekhal@laposte.net> a
écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open();
OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn);
OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette
requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un
DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users",
oConn))
{
nbEnreg = (int)cmd.ExecuteScalar();
}
Cordialement
N'est-il pas possible tout simplement alors de savoir si la requete renvoi
plusieurs enregistrement ou alors aucun enregistrement, sans
obligatoirement en connaitre le nombre.
DbDataReader est un flux. Par définition, un flux est une file (ou queue) et
par conséquent, toujours par définition, le seul élément que tu peux y lire
est celui qui se trouve en tête de file.
En revanche, tu as une propriété HasRows (booléen) qui te permet de savoir
si le flux contient quelque chose ou non.
L'intéret d'utiliser un flux comme abstraction permet notamment au système
de décomposer un gros ensemble de données en plusieurs plus petits, afin
d'optimiser les ressources (dont la bande passante ou la mémoire) de manière
complètement transparente. Si ta requete sql te renvoie 100000
enregistrements, il serait tout à fait possible, par exemple, qu'ils ne te
soient envoyés que par 1000, de manière progressive et incrémentielle, te
permettant ainsi de lire le flux et commencer à en traiter les données au
fur et à mesure que le système les y envoie, sans devoir attendre que les
données n'aient été effectivement transmises dans leur intégralité.
"raleur" a écrit dans le message de news: 4706dfa2$0$27412$
Gilles TOURREAU a écrit :
Le Fri, 05 Oct 2007 12:12:57 +0200, raleur a écrit:
Bonjour j'utilise le code suivant
string sqlQuery="SELECT * FROM Users";
oConn.Open(); OleDbCommand oCmd = new OleDbCommand(sqlQuery, oConn); OleDbDataReader result = oCmd.ExecuteReader();
et je voudrai savoir le nombre d'enregistrement retournée par cette requete avant de la traiter. Comment pourrais faire.
Merci
On ne peut pas connaitre à l'avance le nombre d'enregistrement d'un DbDataReader.
Il faut executer une requête "SELECT COUNT(*)" comme ceci :
int nbEnreg;
using (OleDbCommand cmd = new OleDbCommand("SELECT COUNT(*) FROM Users", oConn)) { nbEnreg = (int)cmd.ExecuteScalar(); }
Cordialement
N'est-il pas possible tout simplement alors de savoir si la requete renvoi plusieurs enregistrement ou alors aucun enregistrement, sans obligatoirement en connaitre le nombre.
DbDataReader est un flux. Par définition, un flux est une file (ou queue) et par conséquent, toujours par définition, le seul élément que tu peux y lire est celui qui se trouve en tête de file.
En revanche, tu as une propriété HasRows (booléen) qui te permet de savoir si le flux contient quelque chose ou non.
L'intéret d'utiliser un flux comme abstraction permet notamment au système de décomposer un gros ensemble de données en plusieurs plus petits, afin d'optimiser les ressources (dont la bande passante ou la mémoire) de manière complètement transparente. Si ta requete sql te renvoie 100000 enregistrements, il serait tout à fait possible, par exemple, qu'ils ne te soient envoyés que par 1000, de manière progressive et incrémentielle, te permettant ainsi de lire le flux et commencer à en traiter les données au fur et à mesure que le système les y envoie, sans devoir attendre que les données n'aient été effectivement transmises dans leur intégralité.