“typed DataSet是从DataSet派生的,它根据事先定义的Data Schema生成数据集,对数据集中的字段实行强类型约束。你可以通过它产生的cs文件看到许多方法对DataTable的操作进行了封装,这样你就可以通过MyDataSet.MyTable.Field对字段进行访问,而不是像DataSet那样:
MyDataSet.Tables["TableName"]["Field"]; 简化了编程,同时不容易出错,想象一下如果在"Field"中拼错了字段名,那么编译器也不会检查出来,对于typed DataSet就不用了,如果你Field写错的话,那么马上就可以知道。
还有就是如果你在Typed DataSet包含多数据集,同时在XSD中对这些数据集建立关系和约束,那么Type DataSet会生成相应的方法来反映这些关系和约束。如果使用untyped DataSet,你需要自己做。
性能上的考虑:虽然Typed DataSet创建对象实例的时候比unTypede DataSet要多一些开销(时间和空间),但是在填充数据的时候要比untyped DataSet快,这是因为DataAdapter已经知道怎么Fill一个Typed DataSet,相比之下,DataSet需要两次读取数据库,第一次取得数据库中表的结构信息,第二次才fill数据。
Typed DataSet相对于DataSet的缺陷:除了创建的开销之外,Typed DataSet不如DataSet灵活,因为Typed DataSet一旦确定,数据表的结构就固定了,如果需要修改,必须重新生成。
而DataSet你可以随时根据需要进行操作(比如添加字段,删除字段等)。”

上面一段话的出处不可考:)下面来看怎么用vs.net创建强类型DataSet
项目-添加新项-从弹出窗口中选择数据-选择数据集,然后起一个名字,点确定。现在就可以看到设计视图了。
下一步要做的就是打开服务器资源管理器,然后找到要创建到数据集里的数据表,把它拖到设计视图中,最后shift+ctrl+b生成,一个typed DataSet就创建完毕了。

很简单吧,现在可以看看typed DataSet的后台.cs代码,推荐使用类视图来快速查看该typed DataSet的详细内容。可以看到属性方法事件一应具全,在typed DataSet里包含的原ado.net的datatable/datarow/datacolumn都是以套嵌类的方式公开的,数据库里的字段以属性方式公开
下面是一个示例,通过填写序号和要修改的内容来修改数据库,演示了对typed DataSet属性方法事件的操作。
强类型DataSet的基本知识(转载)typedDataSet.aspx
强类型DataSet的基本知识(转载)
<%@ Page language="c#" Codebehind="typedDataSet.aspx.cs" AutoEventWireup="false" Inherits="newCentury.typedDataSet" trace=true %>
强类型DataSet的基本知识(转载)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
强类型DataSet的基本知识(转载)
<HTML>
强类型DataSet的基本知识(转载)
<HEAD>
强类型DataSet的基本知识(转载)
<title>typedDataSet</title>
强类型DataSet的基本知识(转载)
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
强类型DataSet的基本知识(转载)
<meta content="C#" name="CODE_LANGUAGE">
强类型DataSet的基本知识(转载)
<meta content="JavaScript" name="vs_defaultClientScript">
强类型DataSet的基本知识(转载)
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
强类型DataSet的基本知识(转载)
</HEAD>
强类型DataSet的基本知识(转载)
<body>
强类型DataSet的基本知识(转载)
<form id="Form1" method="post" runat="server">
强类型DataSet的基本知识(转载)序号:
<asp:TextBox id="idToDel" runat="server"></asp:TextBox>&nbsp;
强类型DataSet的基本知识(转载)新值:
<asp:TextBox id="newMword" runat="server"></asp:TextBox>&nbsp;
强类型DataSet的基本知识(转载)
<asp:Button id="go" runat="server" Text="delete!"></asp:Button>
强类型DataSet的基本知识(转载)
</form>
强类型DataSet的基本知识(转载)
</body>
强类型DataSet的基本知识(转载)
</HTML>
强类型DataSet的基本知识(转载)typedDataSet.aspx.cs
强类型DataSet的基本知识(转载)
using System;
强类型DataSet的基本知识(转载)
using System.Collections;
强类型DataSet的基本知识(转载)
using System.ComponentModel;
强类型DataSet的基本知识(转载)
using System.Data;
强类型DataSet的基本知识(转载)
using System.Drawing;
强类型DataSet的基本知识(转载)
using System.Web;
强类型DataSet的基本知识(转载)
using System.Web.SessionState;
强类型DataSet的基本知识(转载)
using System.Web.UI;
强类型DataSet的基本知识(转载)
using System.Web.UI.WebControls;
强类型DataSet的基本知识(转载)
using System.Web.UI.HtmlControls;
强类型DataSet的基本知识(转载)
using System.Data.SqlClient;
强类型DataSet的基本知识(转载)
using System.Configuration;
强类型DataSet的基本知识(转载)
强类型DataSet的基本知识(转载)
namespace newCentury

相关文章:

  • 2021-04-05
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2021-11-23
  • 2022-12-23
  • 2021-12-06
  • 2021-07-21
猜你喜欢
  • 2022-01-09
  • 2022-12-23
  • 2021-08-10
  • 2022-01-09
  • 2021-10-24
  • 2022-02-25
  • 2021-09-17
相关资源
相似解决方案