我是个初学者。
我听说DataReader是以只读的方式工作的,当我执行下面的代码时,它会一次读取一个record.Suppose
SqlDataReader reader=cmd.ExecuteReader();
gv1.DataSource=reader;
gv.DataBind();
网格视图是如何填充所有records?.As的,读者每次读取时只能读取一行,我认为只有最后一行可供gridview显示。
发布于 2010-01-03 09:55:01
BindData
将从读取器读取数据,一次读取一条记录,并填充GridView。GridView不通过读取器保持与服务器的连接。
发布于 2010-01-03 09:56:19
在内部,在DataBinding期间调用DataReader的Read()方法,直到它返回false (表示没有更多的记录)。在获取每条记录时,将其添加到要呈现的html中。
发布于 2010-01-03 10:03:31
根据MSDN
GridView控件可以绑定到数据源控件(如SqlDataSource、ObjectDataSource等),以及实现System.Collections.IEnumerable接口的任何数据源(如System.Data.DataView、System.Collections.ArrayList或System.Collections.Hashtable)。使用下列方法之一将GridView控件绑定到适当的数据源类型:
如您所见,您正在将SqlDataReader reference设置为GridView.DataSource。当您调用GridView.DataBind方法时,GridView通过读取它,而(reader.Read())则填充相应的数据。
https://stackoverflow.com/questions/1994458
复制