Comment faire DataReader reprend la lecture depuis le début à une condition?
Comment faire dr.Read();
commencer la lecture à partir du début si une condition est remplie?
Quelque chose comme:
sqlDataReader dr = command.ExecuteReader();
for(int i=0; dr.Read() ; i++){
if(condition ){
//let dr.Read() start reading from the beginning
}
}
DataReader
est avant uniquement.L'appel à la méthode de nouveau?
Un lecteur de données est un "tuyau d'incendie"...comme déjà mentionné..."en avant". C'est pourquoi il est maigre, il n'a pas à se "souvenir" de rien "d'avant".
OriginalL'auteur Aan | 2013-05-03
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas.
La
*DataReader
classes sont avant uniquement itérateurs.Au lieu de cela, vous pouvez stocker les résultats dans un
List<T>
(ou unDataTable
)OriginalL'auteur SLaks
Le seul moyen de le redémarrer, c'est de prendre un nouveau lecteur avec
ExecuteReader()
.OriginalL'auteur Andomar
Vous pouvez le faire en fermant d'abord le datareader à l'aide de
dr.close();
puis l'initialiser à nouveau.Où commande est le
MySqlCommand
objet.OriginalL'auteur danish_wani