从数据库获取数据并存储到字典中

本文关键字:字典 存储 数据库 获取 数据 | 更新日期: 2023-09-27 18:26:49

我正试图从MySQL表中获取数据并将其存储到字典中。我知道我可以用循环来完成,但DB表包含超过一百万个元组,这会减慢进度。有没有什么方法可以做到这一点而不必循环所有的条目?

DB表有两列,第一列(键)float类型和第二列(值)varchar。

我目前的方法:

public static Dictionary<Single, string> GetData()
{
   Dictionary<Single, string> dic= new Dictionary<Single, string>();
   string query = "select * from table;";
   if (OpenConnection() == true)
   {
        try
        {
            MySqlCommand cmd = new MySqlCommand(query, connection);
            MySqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read())
            {
               //Something to store DB columns into dictionary without having to loop.  
            }
            reader.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
   }
   return dic;
}

从数据库获取数据并存储到字典中

接下来是您想要的:

try
    {
        MySqlCommand cmd = new MySqlCommand(query, connection);
        MySqlDataAdapter msda = new MySqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        msda.Fill(ds);
        your_control.DataSource = ds;
        your_control.DataBind();
        //your control means some repeater, or gridview, or anything else, which may show all your elements together.
    }

但你也应该考虑,如果你有数百万条记录,最好让它们部分被选中。例如,使用row_number或类似方法

,每页100条记录