2010-09-06 10 views
1

Y at-il un moyen d'envoyer des paquets de requêtes dans 1 requête à mysql en utilisant C#? je veux dire que j'ai obtenu 13 sélections, ils ne sont pas liés, donc je ne peux pas les unir, ils obtiennent différents types de données. Maintenant, j'ai dbconn, 13x select, dbclose, ce n'est pas un problème quand il fonctionne sur LAN, mais sur Internet, il faut parfois pour ralentir cos de latence (13x sélectionner et recive des données). Id aiment faire avec 1 requête comme:paquet de requêtes - MySQL

sélectionnez xxx de xxx; sélectionnez zzz de zzz; sélectionnez aaaa de yyy;

et que de lire le tableau foreach

Répondre

2

Vous pouvez envoyer plusieurs déclarations et obtenir plusieurs jeux de résultats en utilisant MySqlDataReader. Vous pouvez faire quelque chose comme ceci:

var cmd = new MySqlCommand("...lot of SQL selects..."); 
using (var reader = cmd.ExecuteReader()) 
{ 
    // Go to a 'next result' each time. 
    while (reader.NextResult()) 
    { 
     while (reader.Read()) 
     { 
      // Read data from result set. 
     } 
    } 
} 

L'astuce consiste à utiliser MySqlDataReader.NextResult pour passer au prochain jeu de résultats à chaque fois. Bien sûr, dans votre situation, vous savez combien de jeux de résultats vous pouvez espérer, donc vous ne devriez pas utiliser une boucle while mais vous avez l'idée.

+0

c'est exactement ce dont j'ai besoin;) merci – Cfaniak