ASP.net DataReader执行技术

时间:2010-01-03 09:45:00

标签: asp.net datareader

我是初学者。

我听说DataReader只能以只读方式工作,而且一次只能工作 读取单个记录。当我执行以下代码

时启动
SqlDataReader reader=cmd.ExecuteReader();
gv1.DataSource=reader;
gv.DataBind();

gridview如何填充所有记录?。由于读者每次读取能够读取一行,我认为只有最后一行可供GridView显示。

3 个答案:

答案 0 :(得分:0)

在内部,DataReader的Read()方法在DataBinding期间被调用,直到它返回false(表示没有更多记录)。在获取每条记录时,它将被添加到要呈现的html中。

答案 1 :(得分:0)

根据 MSDN

  

GridView控件可以绑定到   数据源控件(如   SqlDataSource,ObjectDataSource和   所以),以及任何数据源   实现了   System.Collections.IEnumerable   界面(如   System.Data.DataView,   System.Collections.ArrayList,或   System.Collections.Hashtable)。用一个   以下方法绑定   GridView控件适当   数据源类型:

正如您所看到的,您只是将 SqlDataReader引用设置为GridView.DataSource。当您调用GridView.DataBind方法时,GridView通过 while(reader.Read())读取它并填充相应的数据。

答案 2 :(得分:-1)

BindData将从阅读器读取数据,一次一条记录,随时填充GridView。 GridView不通过阅读器维护与服务器的连接。