gpt4 book ai didi

c# - 如何使用 SQL 表数据填充字典

转载 作者:行者123 更新时间:2023-11-30 15:53:58 28 4
gpt4 key购买 nike

在我的 C# 项目中,我有一个字典,它的值当前是静态的。

var dict = new Dictionary<string, string>
{
["0000"] = "UK",
["1111"] = "JAPAN",
["2222"] = "CHINA",
["3333"] = "SRI LANKA",
["4444"] = "AUSI",
["5555"] = "USA",
};

现在我需要动态设置它的值。我怎样才能做到这一点?我有一个名为“country”的 Oracle DB 表,其中有两个名为 IDCountryName 的列,如下所示,

ID  CID     CountryName

1 0000 UK
2 1111 JAPAN
3 2222 CHINA
4 3333 SRI LANKA
5 4444 AUSI
6 5555 USA

如何将此表值设置到我的字典中?提前致谢。

最佳答案

使用 oracle 数据适配器将数据放入数据表(参见 https://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter(v=vs.110).aspx)。然后使用下面的代码。您不需要像我一样将数据放入数据表中。刚刚向表中添加数据以测试创建字典的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("CID", typeof(string));
dt.Columns.Add("CountryName", typeof(string));

dt.Rows.Add(new object[] {1, "0000", "UK"});
dt.Rows.Add(new object[] {2, "1111", "JAPAN"});
dt.Rows.Add(new object[] {3, "2222", "CHINA"});
dt.Rows.Add(new object[] {4, "3333", "SRI LANKA"});
dt.Rows.Add(new object[] {5, "4444", "AUSI"});
dt.Rows.Add(new object[] {6, "5555", "USA"});

Dictionary<string, string> dict = dt.AsEnumerable()
.GroupBy(x => x.Field<string>("CID"), y => y.Field<string>("CountryName"))
.ToDictionary(x => x.Key, y => y.FirstOrDefault());
}
}
}

关于c# - 如何使用 SQL 表数据填充字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572371/

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