我是初学者。
我听说DataReader只能以只读方式工作,而且一次只能工作 读取单个记录。当我执行以下代码
时启动SqlDataReader reader=cmd.ExecuteReader();
gv1.DataSource=reader;
gv.DataBind();
gridview如何填充所有记录?。由于读者每次读取能够读取一行,我认为只有最后一行可供GridView显示。
答案 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不通过阅读器维护与服务器的连接。