繁体   English   中英

如何使用SQLReader返回列表<string>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM