2010-12-14 22 views
1

J'ai fait quelques recherches pour trouver la réponse, mais je n'ai trouvé que beaucoup de réponses PHP. J'ai besoin de cela pour une application C#. Est-ce que quelqu'un peut-il me montrer la bonne direction?Placez le résultat de requête de MySql dans une liste C# ou un tableau?

que je fais cela, mais cela ne retourne la première ligne dans ma variable:

Query("SELECT SaksNummer FROM casetracking") 

    public static string Query(string query) 
    { 
     string x; 
     mysqlCon.Open(); 
     cmd = new MySqlCommand(query, mysqlCon); 
     x = cmd.ExecuteScalar().ToString(); 
     mysqlCon.Close(); 
     return x; 
    }  

Répondre

5

ExecuteScalar est conçu pour retourner une seule (ainsi scalaire) Valeur:

Exécute la requête et renvoie la première colonne de la première ligne de l'ensemble de résultats renvoyé par la requête. Les colonnes ou lignes supplémentaires sont ignorées.

Essayez d'utiliser ExecuteReader. Exemple:

public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection) 
{ 
    MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); 
    myConnection.Open(); 
    MySqlDataReader myReader; 
    myReader = myCommand.ExecuteReader(); 
    try 
    { 
     while(myReader.Read()) 
     { 
     Console.WriteLine(myReader.GetString(0)); 
     } 
    } 
    finally 
    { 
     myReader.Close(); 
     myConnection.Close(); 
    } 
} 
+0

+1: tout est dit :) – LaGrandMere

+0

très bien, merci. – newandfresh