迭代结果集.Net

时间:2012-05-22 16:28:47

标签: asp.net .net

我有类似下面的代码,这个存储过程'get2Rows'返回2行,我想获得第1行并获取列值,然后获取第2行并获取列值。我该如何迭代?

using (System.Data.Common.DbCommand dbCommand = DataAccess.Instance().Database.GetStoredProcCommand("get2Rows"))
{       
    using (IDataReader reader = DataAccess.Instance().Database.ExecuteReader(dbCommand))
    {
         while (reader.Read())//here i want to get the 1st row
         {
             //here i want to get the columns of the 1st row....
         }                            
    };                        
}

1 个答案:

答案 0 :(得分:1)

while (reader.Read())//here i want to get the 1st row
{
    //here i want to get the columns of the 1st row....
    int firstColumn = Convert.ToInt32(dr[0]["intColumn"].ToString());
    string secondColumn = dr[0]["stringColumn"].ToString();
    // etc.
}

你正在获取这两行,因为你正在循环它们。这取决于你想要如何存储它们,也许是在一个集合中?

更多信息:http://www.csharp-station.com/Tutorial/AdoDotNet/lesson04

如果您使用DataReader,我的建议是一次使用一行,因为它的运行方式。如果你想要内存中的所有行,你应该使用DataSet。