[英]How to use SQLReader to return List<string>
我们有一个存储过程返回一个字符串的单列。 我们想使用SqlHelper.ExecuteReader(ConnectionString,...)返回list <string>,但是不确定语法。
我应该更加明确。 我不想遍历读者自己创建列表。 我希望有一个更简洁的“单一班轮”,或者是我不知道的某种类型的演员。
您可以使用以下扩展方法:
public static IEnumerable<IDataRecord> AsEnumerable(this IDataReader reader)
{
while (reader.Read())
{
yield return reader;
}
}
...
using (var reader = SqlHelper.ExecuteReader(connectionString, query))
{
var list = reader.AsEnumerable().Select(r => r.GetString(0)).ToList();
}
看一下使用C#.NET DataReader检索数据 。 该示例提供了解决此问题的方法。
你尝试过这样的事情吗?
var sl = new List<string>();
// Edit accordingly
string sql = "";
// Edit accordingly
string cs = "Data Source= ;Initial Catalog= ;Integrated Security= ;";
using (var conn = new SqlConnection(cs))
{
conn.Open();
using (var cmd = new SqlCommand(sql, conn))
{
using (var dr = new command.ExecuteReader())
{
var myRow = dr["MyColumn"];
sl.Add(myRow.ToString());
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.