gpt4 book ai didi

c# - 如何用 SqlDataAdapter 填充 List

转载 作者:行者123 更新时间:2023-11-30 13:45:52 25 4
gpt4 key购买 nike

我正在尝试用 SqlDataAdapter 填充列表。但是我做不到。除了数据适配器之外,还有其他方法可以填充字符串列表吗?请帮我解决这个问题。提前致谢。

这是我的代码:

public List<String> JSONDataAll()
{
List<String> Users = new List<String>();
con.Open();
SqlCommand cmd = new SqlCommand("sp_sample_Proc", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(Users);
}

最佳答案

最简单的方法是通过 SqlDataReader 读取您的数据然后填写您的列表迭代您的结果集。喜欢:

public List<String> JSONDataAll()
{
List<String> Users = new List<String>();
using (SqlConnection con = new SqlConnection("connectionString"))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("sp_sample_Proc", con))
{
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Users.Add(reader.GetString(0)); //Specify column index
}
}
}
}
return Users;
}

在您当前的代码中,您正试图填写 List<string>使用 DataAdapter .你不能那样做。相反,您可以填写 DataTable然后得到一个List<string>喜欢:

DataTable dt = new DataTable();
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
Users = dt.AsEnumerable()
.Select(r => r.Field<string>("ColumnName"))
.ToList();

但是,你不应该那样做。这将导致多次迭代,首先用于填充 DataTable第二个用于创建 List<string>

关于c# - 如何用 SqlDataAdapter 填充 List<String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891408/

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