2010-12-14 175 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