[英]Getting a list from a SQL query in C#
我想将SQL查询的结果转换为C#列表。 我尝试使用以下无效的代码-Visual Studio返回
System.Data.dll中发生了类型为'System.InvalidCastException'的未处理异常
码:
public List<string> carList(int id)
{
List<string> list = new List<string>();
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string query = "SELECT ID FROM Cars WHERE custID = " + id;
SqlCommand cmd = new SqlCommand(query, conn);
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
list.Add(reader.GetString(0));
}
}
conn.Close();
return list;
}
SQL查询的结果应仅为具有一个或多个ID(整数)的单列。 然后,我想将所有这些都放入列表中。 希望这可以使您对我正在尝试做的事情有所了解。
如果有人可以指出我在这里做错了什么,那么我将非常感激。
按照评论中的建议尝试一下
while (reader.Read())
{
list.Add(reader.GetInt32(0).ToString());
}
第0个索引上的数据类型应为整数,在添加到列表之前应将其转换为字符串。
如果您想以更通用的方式将任何单列结果集转换为字符串列表,则可以使用:
while (reader.Read())
{
list.Add(reader.GetValue(0).ToString());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.