ASP.NET 2.0便捷数据访问
內容介紹
l???????? 數據源控件
l???????? 數據綁定
l???????? 分層次的數據訪問
本文介紹最簡單的數據綁定,沒有用到很多代碼。
1.?????? ASP.NET 2.0數據控件新特性
l???????? 數據源控件
ü???????? 數據源控件提供一種從后端數據庫獲取數據并送到前端顯示的方法,這個后端數據庫可以是SQL數據庫,商務中間件或者XML文件。數據源控件同時還提供從前端用戶界面進行添加,刪除,更新,排序等操作的方法,并且這種方法不需要更多的編寫代碼。
ü???????? DataSource控件
DataSource控件概述
數據源控件示例:
新建一個ASP.NET網站->在SQL2000中建立一個名為qimu的數據庫->在Default.aspx設計頁面下添加一個sqlDataSource控件->配置數據源->新建連接->輸入服務器名、選擇一個數據庫,測試連接成功后確定->一直默認操作->完成。
代碼如下:(C#代碼)
??? protected void Page_Load(object sender, EventArgs e)
??? {
??????? //DataSourceSelectArguments dssa = new DataSourceSelectArguments();
??????? showdataresult(SqlDataSource1.Select(new DataSourceSelectArguments("ID")));
??? }
??? public void showdataresult(IEnumerable e)//IEnumerable就是一個集合對象
??? {
??????? IEnumerator idx = e.GetEnumerator();//idx作為集合中的某一個元素,通過GetEnumerator方法將集合中所有元素取出來
??????? //DataRowView datarv = null;//數據一行的視圖,即是說把一行的數據放到數據列表中
??????? //DbDataRecord ddr = null;//數據一列的視圖
??????? while (idx.MoveNext())
??????? {
??????????? if (idx.Current.GetType() == typeof(DataRowView))//判斷幾何元素的數據類型
??????????? {
??????????????? DataRowView drv = (DataRowView)idx.Current;
??????????????? Response.Output.Write("{0},{1},{2} </br>", drv[0], drv[1], drv[2]);
??????????? }
??????????? else if (idx.Current.GetType() == typeof(DbDataRecord))
??????????? {
??????????????? DbDataRecord dr = (DbDataRecord)idx.Current;
??????????????? Response.Output.Write("{0},{1},{2} </br>", dr[0], dr[1], dr[2]);//數組形式顯示列內數據
??????????? }
?? }
使用sqlDataSource控件可以快速訪問數據庫。
ü???????? 數據源控件參數
通過使用新的數據源控件參數對象,數據源控件可以方便的接受從各個途徑提供的數據,作為數據源操作或者數據篩選時的參數。這些參數可以來之如下途徑
控件屬性數值(一般是數據綁定控件的屬性)、session(網站中常用的一個屬性,每一個連接用戶都具有的一個在IIS服務上的一個通道。可以用來存儲一些數據,比如存放變量等)、application(是一個IIS服務其所有用戶公用的一個通道)、cookie(負責記錄IE的一些相關信息,比如在本地記錄登陸密碼等描述信息,登陸網站時自動調用)、querystring field等。
定制這些屬性數值可以非常便捷,不需要編寫更多代碼。
ü???????? 數據源控件接受參數
數據綁定控件支持參數,用戶可以選擇自己的參數作為控件指令的附加參數
<asp:CSqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:qimuConnectionString %>"
SelectCommand="SELECT * FROM [tab1] WHERE([state]=@state)">
<SelectParameters>
<asp:CONTROLPARAMETER ControlID="DropDownList1" Name="State" PropertyName="SelectedValue"?Type="String" />
</SelectParameters >
</asp:SqlDataSource>
l???????? 新數據綁定控件
ü???????? 數據綁定控件比ASP.NET 1.X增加了更多新的數據綁定控件,例如GridView,DatailView,FormView,TreeView等等,這些控件可以很方便以各種格式顯示數據,其中GridView,DatailView,FormView還可以非常快的提供各種數據操作。
ü???????? 無代碼數據綁定的實現
支持更復雜的設計;與數據庫服務器瀏覽器想結合;更方便定制。
ü???????? 數據綁定控件工作原理
?
?
代碼示例:
添加一個窗體,添加SqlDataSource和GridView控件,設置數據庫連接,然后設置GridView樣式和數據源。同時可以刪除列等操作。
添加一個DropDownList控件和一個標簽控件,DropDownList配置新數據源,同時在SqlDataSource數據源中設置Where語句,綁定到DropDownList中。(注意:一定要把啟用Auto Post Back勾上才能返回到服務器端)
DetailsView?LinkButton簡介
ü???????? 新數據綁定控件
?
?
ü???????? 數據綁定
數據綁定語法
<%#eval("collProp"[."format"]) %>
這是從asp.net1.1開始使用的老模式
<%#bind("collProp"[."format"]") %>>
新模式支持兩種綁定方式,只需要通過編輯模板,即可實現新功能<%#>
??????? <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
??????????? <Columns>
??????????? <asp:TemplateField SortExpression = "su_lname" HeaderText = "name">
??????????? <ItemTemplate>
??????????? <%# Eval("au_fname") %>
??????????? </ItemTemplate>
??????????? </asp:TemplateField>
??????????? </Columns>
??????? </asp:GridView>
總結:數據綁定控件示例:GridView控件示例,DetailView控件示例,xmlDataSource控件示例。
l???????? 數據控件的參數
l???????? 增強的數據綁定語法
l???????? 使用SQL表達式操作本地數據庫
2.?????? 訪問ISS (IIS是服務器主動提供信息)
使用xmlDataSource控件。語法如下:XPath(“title”)
添加一個xmlDataSource用于連接XML數據庫。添加一個FormView實現XML數據的調用和顯示。之中的關聯參考上文。
具體操作備忘:
新建一個Web頁->添加一個xmlDataSource控件和一個FormView控件->xmlDataSource控件點擊配置數據源->數據文件欄目添加XML文件或者網頁地址(我添加的是http://blog.delphij.net/index.xml)->下面兩個不用管。->FormView控件上選擇數據源為XmlDataSource1->選擇一個樣式(可不選擇)->編輯模板->在編輯窗口中添加Label標簽->編輯label DataBindings->代碼表達式(我輸入的是XPath(“tltle”))->調試程序。
3.?????? 總結
l???????? 數據源控件介紹
l???????? 數據綁定控件
l???????? 快速顯示數據查詢顯示的方法
轉載于:https://www.cnblogs.com/qimu/archive/2009/05/07/1451963.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ASP.NET 2.0便捷数据访问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 伪类的顺序
- 下一篇: 如何从完整的文件路径中分离文件名和路径名