从数据库获取数据并存储到字典中
本文关键字:字典 存储 数据库 获取 数据 | 更新日期: 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或类似方法