2010-01-03 37 views
1

我是初學者。ASP.net DataReader執行技巧

聽說DataReader的工作向前只只讀方式,並一次將 讀取單個record.Suppose時,我怎麼也GridView的填充所有記錄執行下面的代碼

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

?由於讀者能夠讀取每行一行,我認爲只有最後一行可用於GridView顯示。

回答

-1

BindData將從閱讀器中讀取數據,一次一個記錄,隨時填充GridView。 GridView沒有通過閱讀器維護與服務器的連接。

0

在內部,DataReader的Read()方法在DataBinding期間調用,直到它返回false(表示沒有更多記錄)。當每個記錄被提取時,它被添加到要呈現的html中。

0

根據MSDN

GridView控件可以被綁定到一個 數據源控制(如 的SqlDataSource,ObjectDataSource的,和 等),以及任何數據源 那實現了 System.Collections.IEnumerable 接口(如 System.Data.DataView, System.Collections.ArrayList或 System.Collections.Hashtable)。使用下列方法之一 到 GridView控件綁定到適當的 數據源類型:

正如你可以看到你的SqlDataReader的參考只設置到GridView.DataSource。當您調用GridView.DataBind方法時,GridView在(reader.Read())中通過讀取並填充相應的數據。