gpt4 book ai didi

c# - 如何在 C# 中将查询保存到字典中?

转载 作者:行者123 更新时间:2023-11-29 21:32:45 28 4
gpt4 key购买 nike

我正在使用 Visual Studio 2012 和 C#。我有一个问题:我想将 SQL 查询的所有结果收集到字典中。

这是我的代码:

Dictionary<int,List<string>> dic = new Dictionary<int, List<string>>();

string query = "select request_number, service_category ,service_type from enugro.enugro_service_requests_info;";

MySqlConnection connec = new MySqlConnection(strcon);
connec.Open();

MySqlCommand cmd = new MySqlCommand(query,connec);
MySqlDataReader reader = cmd.ExecuteReader();

while(reader.Read())
{
dic.Add((int)reader["request_number"], { reader["service_category"], reader["service_type"] });
}

// display result
foreach(var disp in dic)
{
MessageBox.Show(disp.Key.ToString()+"= "+disp.Value.ToString());
}

如您所见,我的 SQL 查询返回 3 列以供检索并存储到字典中。你能帮我吗?

最佳答案

由于字典值的类型是 List<string> ,然后您需要为每一行创建一个新列表并将其添加到字典中,如下所示:

dic
.Add(
(int)reader["request_number"],
new List<string>
{
reader["service_category"].ToString(),
reader["service_type"].ToString()
});

考虑创建一个类来保存每行所需的信息,并将其用作字典值的类型。这样的类看起来像这样:

public class MyValue
{
public string ServiceCategory {get;set;}
public string ServiceType {get;set;}
}

然后你可以让你的字典类型为 Dictionary<int, MyValue>这将允许您执行此操作:

dic
.Add(
(int)reader["request_number"],
new MyValue
{
ServiceCategory = reader["service_category"].ToString(),
ServiceType = reader["service_type"].ToString()
});

关于c# - 如何在 C# 中将查询保存到字典中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35136143/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com