程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> ADO.NET入門(6)

ADO.NET入門(6)

編輯:關於.NET
6.XML的延展支持功能

  在ADO中,XML僅僅只是作為輸入和輸出格式.但是,在ADO.Net中,XML作為數據記錄格式為你提供了一系列的方法,如: manipulating, reorganizing, sharing, and transferring. 任何你輸入進到DataSet中的數據,不管是不是原創,都能夠通過雙面編程模型進行處理.

  如同XML文檔一樣,DataSet 讀取/書寫數據和模式。數據和模式在HTTP中是可轉移的,也可以在任一支持XML的平台上運行。相同的數據在不同的時間段通過不同的模式可以被執行。你利用ReadXmlSchema來書寫模式。 XML模式包含了data set中tables 的名稱,如同data set 中的relations 和 constraints一樣。在調用ReadXMLData之前你應該完成這個步驟

  以下代碼示例是一個顯示可更新數據表的最簡單的 ASP.Net 頁面。

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.IO" %>

<script runat="server" language="C#">
void Page_Load(Object source, EventArgs e)
{
DataSet data = new DataSet();

// Loads XML data and schema
StreamReader sr;
sr = new StreamReader(Server.MapPath("data.XML"));
data.ReadXML(sr);
sr.Close();

// Add a new record passed through the URL
if (Request.QueryString.Count >0)
{
DataTable dt = data.Tables[0];
DataRow dr = dt.NewRow();
dr["FirstName"] = Request.QueryString["First"];
dr["LastName"] = Request.QueryString["Last"];
dt.Rows.Add(dr);
dt.AcceptChanges();

StreamWriter sw;
sw = new StreamWriter(Server.MapPath("data.XML"));
data.WriteXML(sw);
sw.Close();
}

// Refreshes the UI (made of a grid)
grid.DataSource = data.Tables[0].DefaultVIEw;
grid.DataBind();
}
</script>

  如圖 2 所示,您可以將新的行添加到表中。然而,它不涉及 SQL Server 或 Access 表。它只是一個 XML 文件,在處理它的代碼中,沒有使用 XML 節點或 XMLDOM 方法。您可以用相同的直觀數據表接口來讀取和更新 XML 記錄。您的工作方式與在 ADO 中大致相同,但此處的模型更深入、更龐大,有更多的潛力供您去發掘。


     Figure 2. Example of an updateable table

  7.結論

  Web 應用程序的成功改變了典型分布式系統的面貌。現在大多數分布式系統都是 n 層系統,這類系統對擴展性和互操作性的要求越來越高。因此,非連接數據處理和 XML 成為最佳實踐,並為業界廣為接受。

  ADO.NET試圖將一些現有的在.NET旗下最好的精華都統成為一體.對於數據訪問的所有的編程模式就綜合性的,並是非常強大的.也許該模式不能一一滿足你的每個要求,但它朝模式設計方向跨出了一大步,不管如何,請記住ADO.Net只是一個測試版,而且只有有限的文檔支持.

  ADO程序員從該測試版中將會受益非淺,因為他們已經熟悉了關於ADO.NET的方方面面,包括關於abstraction的最高層次-- inspiring 模型. ADO.NET代碼與現有的ADO代碼並不兼容,但是功能卻近似. 為完全發揮ADO.NET 的優勢,與其只是簡單的計算出最快的方式來放置代碼,還不如實實在在的弄清楚ADO.NET它本身的要領.不管如何,.你所選擇的NET編程模式-- Windows Forms, Web Forms, or Web Services,ADO.Net都會在數據存取方面幫你一把.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved