AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > .NET技术

ADO.NET入门(6)

51自学网 http://www.51zixue.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都会在数据存取方面帮你一把.

 

 

 
上一篇:ASP.NET中Cookie编程的基础知识(1)  下一篇:ADO.NET入门(5)