如何使用SQL Server查询填充一般字符串列表
本文关键字:字符串 列表 填充 查询 何使用 SQL Server | 更新日期: 2023-09-27 18:26:33
我需要用单列查询的结果集填充一个通用的字符串列表。我有这个代码:
private List<String> _mammalsList;
. . .
private void LoadMammalStringList()
{
_mammalsList = new List<string>();
using (SqlConnection con = new SqlConnection(PlatypusUtils.DuckbillConnStr))
{
using (SqlCommand cmd = new SqlCommand(PlatypusUtils.SelectMammalIdQuery, con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
// Now that the data is in dt, how can I pull it out of there and put it into the List<String>?
}
}
}
}
但不知道如何访问返回的数据集。我该怎么做?
将"what now?"注释替换为以下代码:
foreach (DataRow row in dt.Rows)
{
_mammalsList.Add(row.ItemArray[0].ToString());
}
上下文:
private void LoadMammalsStringList()
{
_mammalsList = new List<string>();
using (SqlConnection con = new SqlConnection(PlatypusUtils.DuckbillConnStr))
{
using (SqlCommand cmd = new SqlCommand(PlatypusUtils.SelectMammalIdQuery, con))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
foreach (DataRow row in dt.Rows)
{
_mammalsList.Add(row.ItemArray[0].ToString());
}
}
}
}
}
更新
正如Momar所暗示的,这也起作用:
//foreach (DataRow row in dt.Rows)
//{
// _membersList.Add(row.ItemArray[0].ToString());
//}
_mammalsList = dt.AsEnumerable()
.Select(r => r.Field<string>("mammalId"))
.ToList();
我不知道哪种方法更可取。