2009-10-05 3 views
0

Est-il possible de stocker 2 jeux de résultats ou plus dans un lecteur de données? J'ai différentes méthodes qui retournent chacune un DataReader. Puis-je stocker des jeux de résultats dans le même DataReader? (j'utilise vs 2008)2 jeux de résultats dans Datareader

Répondre

3

Oui, envoyez la requête comme suit:

string select = "select * from Categories; select * from customers"; 
    SqlCommand command = new SqlCommand (select, conn); 
    conn.Open(); 
    SqlDataReader reader = command.ExecuteReader(); 

Vous pouvez utiliser les deux résultats:

do 
{ 
    while (reader.Read()) 
    { 
    Console.WriteLine ("{0}\t\t{1}", reader[0], reader[1]); 
    } 
}while (reader.NextResult()); 

L'intérieur tout en itère sur les dossiers individuels d'une resultset; le NextResult() saute au jeu de résultats suivant.

+0

Merci imsasu, Je sais de cette façon, mais j'ai une question.J'aurai près de 40 jeux de résultats différents et certaines de ces requêtes resultset sont longues.Si je sépare ces requêtes avec ";", il peut être difficile de déboguer quand Je rencontre un problème dans la requête SQL (Forexample dans la requête 23.resultset) .Cant je le fais d'une manière différente? – Alexander

+0

Et ça marche aussi pour Oracle? – Alexander

Questions connexes