2010-12-14 62 views
1

我已經做了一些搜索的答案,但只找到很多PHP的答案。我需要這個C#應用程序。任何一個人都可以指向正確的方向嗎?將MySql的查詢結果放入C#列表或數組中?

我這樣做,但這隻返回的第一行到我的變量:

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; 
    }  

回答

5

ExecuteScalar被設計成只返回一個(因此)值:

執行該查詢並返回查詢返回的 結果集中第一行的第一列 。 額外的列或行被忽略。

嘗試使用ExecuteReader。例如:

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:全都說:) – LaGrandMere 2010-12-14 14:52:48

+0

非常好,謝謝。 – newandfresh 2010-12-14 15:11:22