返回首页

ADO.NET

时间:2020-01-14 16:18来源:知行网www.zhixing123.cn 编辑:麦田守望者

 ADO.NET在前端控件和后端数据库之间提供了桥梁。ADO.NET对象封装了所有数据访问操作,并且控件与这些对象进行交互以显示数据,从而隐藏了数据移动的详细信息。

下图使ADO.NET对象一目了然:

ADO.Net对象

数据集类

数据集代表数据库的子集。它没有与数据库的连续连接。要更新数据库,需要重新连接。DataSet包含DataTable对象和DataRelation对象。DataRelation对象表示两个表之间的关系。

下表显示了DataSet类的一些重要属性:

性质 描述
区分大小写
指示数据表中的字符串比较是否区分大小写。
容器
获取组件的容器。
数据集名称
获取或设置当前数据集的名称。
DefaultViewManager
返回数据集中的数据视图。
设计模式
指示组件当前是否处于设计模式。
强制约束
指示在尝试任何更新操作时是否遵循约束规则。
大事记
获取附加到此组件的事件处理程序的列表。
扩展属性
获取与数据集关联的自定义用户信息的集合。
HasErrors
指示是否有任何错误。
已初始化
指示是否初始化了DataSet。
语言环境
获取或设置用于在表中比较字符串的语言环境信息。
命名空间
获取或设置数据集的名称空间。
字首
获取或设置别名为DataSet命名空间的XML前缀。
关系
返回DataRelation对象的集合。
桌子
返回DataTable对象的集合。

下表显示了DataSet类的一些重要方法:

方法 描述
接受变更
接受自加载DataSet或调用此方法以来所做的所有更改。
BeginInit
开始初始化数据集。初始化在运行时发生。
明确
清除数据。
克隆
复制数据集的结构,包括所有数据表架构,关系和约束。不复制任何数据。
复制
复制结构和数据。
CreateDataReader()
返回一个DataTableReader,每个DataTable具有一个结果集,其顺序与Tables集合中出现的表相同。
CreateDataReader(DataTable [])
返回一个DataTableReader,每个DataTable具有一个结果集。
结束初始化
结束数据集的初始化。
等于(对象)
确定指定的Object是否等于当前的Object。
完成
释放资源并执行其他清理。
GetChanges
返回DataSet的副本,其中包含自加载或调用AcceptChanges方法以来所做的所有更改。
GetChanges(DataRowState)
获取DataSet的副本,该副本包含自加载或调用AcceptChanges方法以来所做的所有更改,并由DataRowState过滤。
GetDataSetSchema
获取数据集的XmlSchemaSet的副本。
GetObjectData
使用序列化DataSet所需的数据填充序列化信息对象。
获取类型
获取当前实例的类型。
GetXML
返回数据的XML表示形式。
GetXMLSchema
返回数据的XML表示形式的XSD模式。
HasChanges()
获取一个值,该值指示DataSet是否已更改,包括新行,已删除行或已修改行。
HasChanges(DataRowState)
获取一个值,该值指示DataSet是否有更改,包括通过DataRowState过滤的新行,删除行或修改行。
IsBinarySerialized
检查数据集的序列化表示形式的格式。
加载(IDataReader,LoadOption,DataTable [])
使用提供的IDataReader使用数据源中的值填充DataSet,并使用DataTable实例数组提供模式和名称空间信息。
加载(IDataReader,LoadOption,字符串[])
使用提供的IDataReader,使用字符串数组为DataSet中的表提供名称,使用数据源中的值填充DataSet。
合并()
将数据与另一个数据集中的数据合并。此方法具有不同的重载形式。
ReadXML()
将XML模式和数据读入DataSet。此方法具有不同的重载形式。
ReadXMLSchema(0)
将XML模式读入DataSet。此方法具有不同的重载形式。
拒绝变更
回滚自上次调用AcceptChanges以来所做的所有更改。
WriteXML()
从数据集中写入XML模式和数据。此方法具有不同的重载形式。
WriteXMLSchema()
将DataSet的结构写为XML模式。此方法具有不同的重载形式。

数据表类

DataTable类表示数据库中的表。它具有以下重要特性;这些属性中的大多数都是只读属性,但PrimaryKey属性除外:

性质 描述
儿童关系
返回子关系的集合。
返回Columns集合。
约束条件
返回约束集合。
数据集
返回父数据集。
默认视图
返回表的视图。
父母关系
返回ParentRelations集合。
首要的关键
获取或设置一个列数组作为该表的主键。
行数
返回行集合。

下表显示了DataTable类的一些重要方法:

方法 描述
接受变更
提交自上一次AcceptChanges以来的所有更改。
明确
清除表中的所有数据。
GetChanges
返回DataTable的副本,其中包含自调用AcceptChanges方法以来所做的所有更改。
GetErrors
返回有错误的行数组。
导入行
将新行复制到表中。
LoadDataRow
查找并更新特定行,或创建新行(如果找不到)。
合并
将该表与另一个DataTable合并。
新行
创建一个新的DataRow。
拒绝变更
回滚自上次调用AcceptChanges以来所做的所有更改。
重启
将表重置为其原始状态。
选择
返回DataRow对象的数组。

DataRow类

DataRow对象表示表中的一行。它具有以下重要属性:

性质 描述
HasErrors
指示是否有任何错误。
物品
获取或设置存储在特定列中的数据。
ItemArrays
获取或设置该行的所有值。
返回父表。

下表显示了DataRow类的一些重要方法:

方法 描述
接受变更
接受自调用此方法以来所做的所有更改。
BeginEdit
开始编辑操作。
取消编辑
取消编辑操作。
删除
删除数据行。
结束编辑
结束编辑操作。
GetChildRows
获取此行的子行。
GetParentRow
获取父行。
GetParentRows
获取DataRow对象的父行。
拒绝变更
回滚自上次调用AcceptChanges以来所做的所有更改。

DataAdapter对象

DataAdapter对象充当DataSet对象和数据库之间的中介。这有助于数据集包含来自多个数据库或其他数据源的数据。

DataReader对象

DataReader对象是DataSet和DataAdapter组合的替代方法。该对象提供对数据库中数据记录的面向连接的访问​​。这些对象适用于只读访问,例如填充列表然后断开连接。

DbCommand和DbConnection对象

DbConnection对象表示与数据源的连接。该连接可以在不同的命令对象之间共享。

DbCommand对象代表通过检索或操作数据发送到数据库的命令或存储过程。

到目前为止,我们已经使用了计算机中已经存在的表和数据库。在此示例中,我们将创建一个表,在其中添加列,行和数据,并使用GridView对象显示该表。

源文件代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="createdatabase._Default" %>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml" >     <head runat="server">       <title>          Untitled Page       </title>    </head>        <body>       <form id="form1" runat="server">                 <div>             <asp:GridView ID="GridView1" runat="server">             </asp:GridView>          </div>                 </form>    </body>     </html>

文件后面的代码如下:

namespace createdatabase {    public partial class _Default : System.Web.UI.Page    {       protected void Page_Load(object sender, EventArgs e)       {          if (!IsPostBack)          {             DataSet ds = CreateDataSet();             GridView1.DataSource = ds.Tables["Student"];             GridView1.DataBind();          }       }              private DataSet CreateDataSet()       {          //creating a DataSet object for tables          DataSet dataset = new DataSet();           // creating the student table          DataTable Students = CreateStudentTable();          dataset.Tables.Add(Students);          return dataset;       }              private DataTable CreateStudentTable()       {          DataTable Students = new DataTable("Student");           // adding columns          AddNewColumn(Students, "System.Int32", "StudentID");          AddNewColumn(Students, "System.String", "StudentName");          AddNewColumn(Students, "System.String", "StudentCity");           // adding rows          AddNewRow(Students, 1, "M H Kabir", "Kolkata");          AddNewRow(Students, 1, "Shreya Sharma", "Delhi");          AddNewRow(Students, 1, "Rini Mukherjee", "Hyderabad");          AddNewRow(Students, 1, "Sunil Dubey", "Bikaner");          AddNewRow(Students, 1, "Rajat Mishra", "Patna");           return Students;       }        private void AddNewColumn(DataTable table, string columnType, string  columnName)       {          DataColumn column = table.Columns.Add(columnName,  Type.GetType(columnType));       }        //adding data into the table       private void AddNewRow(DataTable table, int id, string name, string city)       {          DataRow newrow = table.NewRow();          newrow["StudentID"] = id;          newrow["StudentName"] = name;          newrow["StudentCity"] = city;          table.Rows.Add(newrow);       }    } }

执行程序时,请注意以下事项:

  • 应用程序首先创建一个数据集,并使用GridView控件的DataBind()方法将其与网格视图控件绑定。

  • Createdataset()方法是用户定义的函数,该函数创建一个新的DataSet对象,然后调用另一个用户定义的方法CreateStudentTable()来创建表并将其添加到数据集的Tables集合中。

  • CreateStudentTable()方法调用用户定义的方法AddNewColumn()和AddNewRow()来创建表的列和行以及向行添加数据。

  • 执行页面后,它将返回表的行,如下所示:

    ADO.Net结果

     
    ------分隔线----------------------------
    标签(Tag):
    ------分隔线----------------------------
    推荐内容
  • ASP.NET-文件上传

    ASP.NET具有两个控件,允许用户将文件上传到Web服务器。 服务器收到发布的文件数据后...

  • ADO.NET

    ADO.NET在前端控件和后端数据库之间提供了桥梁。 ADO.NET对象封装了所有数据访问操作...

  • ASP.NET-数据库访问

    ASP.NET允许访问和使用以下数据源: 数据库(例如,Access,SQL Server,Oracle,MySQ...

  • ASP.NET-验证器

    ASP.NET验证控件验证用户输入数据,以确保不会存储无用,未经身份验证或矛盾的数据。 ...

  • ASP.NET-管理状态

    超文本传输协议(HTTP)是无状态协议。 当客户端与服务器断开连接时,ASP.NET引擎将丢...

  • ASP.NET-指令

    ASP.NET指令是用于指定可选设置的指令,例如注册自定义控件和页面语言。 这些设置描述...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8国际平台入口
  • Photoshop龙8国际平台入口
  • 3DMAX龙8国际平台入口
  • AutoCAD龙8国际平台入口
  • CorelDRAW龙8国际平台入口
  • Matlab龙8国际平台入口
  • 其他龙8国际平台入口
  • .Net龙8国际平台入口
  • Asp龙8国际平台入口
  • Php龙8国际平台入口
  • Jsp龙8国际平台入口
  • Ajax龙8国际平台入口
  • Android教程
  • 其他龙8国际平台入口
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影