将MySql的Query结果放入C#列表或数组中?

时间:2010-12-14 14:49:09

标签: c# mysql arrays

我已经做了一些搜索,但只找到了很多PHP的答案。我需要这个用于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;
    }       

1 个答案:

答案 0 :(得分: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();
    }
 }