2014-04-20 4 views
0

Je veux créer une fonction qui envoie une requête à un serveur mysql distant et place les données dans un objet DataTable dynamiquement, mon problème est maintenant d'extraire les valeurs du lecteur et de remplir complètement cet objet. Si je reçois une ligne hors du lecteur ce n'est pas l'ensemble des données, si j'obtiens 10 c'est une erreur hors plage. Je ne veux pas faire cela lié à une table spécifique.C# Requête dynamique dans DataTable?

... 
    oCon = new MySqlConnection(...) 
    ...   

    private DataTable query(MySqlCommand command, DataTable pattern) 
    { 
     DataTable table = pattern; 
     oCon.Open(); 
     MySqlDataReader reader = command.ExecuteReader(); 
     while (reader.Read()) 
     { 
      for (int i = 0; i < table.Columns.Count; i++) 
      { 
       table.Rows.Add(What here?); 
      } 
     } 
     reader.Close(); 
     oCon.Close(); 
     return table; 
    } 

Répondre

1

Vous devez utiliser la fonction GetName.

MySqlDataReader resultSet = cmd.ExecuteReader(); 
dt.Columns.Clear(); 
for (int i = 0; i < resultSet.FieldCount; i++) 
{ 
    dt.Columns.Add(resultSet.GetName(i)); 
} 
dt.Load(resultSet); 
+0

C'est exactement ce que je voulais, merci! – user3341388