ASP.Net教程

ASP.NET 数据源

数据源控件与数据绑定控件交互并隐藏复杂的数据绑定过程。这些工具为数据绑定控件提供数据并支持执行插入、删除、排序和更新等操作。
每个数据源控件都封装了一个特定的数据提供者关系数据库、XML 文档或自定义类,并有助于:
管理连接 选择数据 管理分页、缓存等演示方面。 操作数据
ASP.NET 中有许多数据源控件可用于访问来自 SQL Server、ODBC 或 OLE DB 服务器、XML 文件和业务对象的数据。
根据数据类型,这些控件可以分为两类:
分层数据源控件 基于表格的数据源控件
用于分层数据的数据源控件有:
XMLDataSource-它允许绑定到带有或不带有架构信息的 XML 文件和字符串。 SiteMapDataSource-它允许绑定到提供站点地图信息的提供者。
用于表格数据的数据源控件有:
SqlDataSource 说明
SqlDataSource 它表示与 ADO.NET 数据提供程序的连接,该数据提供程序返回 SQL 数据,包括可通过 OLEDB 和 ODBC 访问的数据源。
ObjectDataSource 它允许绑定到返回数据的自定义 .Net 业务对象。
LinqdataSource 它允许绑定到 Linq-to-SQL 查询的结果(仅 ASP.NET 3.5 支持)。
AccessDataSource 它代表与 Microsoft Access 数据库的连接。

数据源视图

数据源视图是 DataSourceView 类的对象。代表针对不同数据操作(例如排序、过滤等)的自定义数据视图。
DataSourceView 类作为所有数据源视图类的基类,定义了数据源控件的功能。
下表提供了 DataSourceView 类的属性:
属性 说明
CanDelete 指示是否允许对底层数据源进行删除。
CanInsert 指示是否允许在基础数据源上插入。
CanPage 指示是否允许对底层数据源进行分页。
CanRetrieveTotalRowCount 指示总行数信息是否可用。
CanSort 表示数据是否可以排序。
CanUpdate 指示是否允许对基础数据源进行更新。
Events 获取数据源视图的事件处理程序委托列表。
Name 视图名称。
下表提供了DataSourceView类的方法:
方法 说明
CanExecute 确定是否可以执行指定的命令。
ExecuteCommand 执行特定的命令。
ExecuteDelete 对 DataSourceView 对象表示的数据列表执行删除操作。
ExecuteInsert 对 DataSourceView 对象表示的数据列表执行插入操作。
ExecuteSelect 从底层数据存储中获取数据列表。
ExecuteUpdate 对 DataSourceView 对象表示的数据列表执行更新操作。
Delete 对与视图关联的数据执行删除操作。
Insert 对与视图关联的数据执行插入操作。
Select 返回查询到的数据。
Update 对与视图关联的数据执行更新操作。
OnDataSourceViewChanged 引发 DataSourceViewChanged 事件。
RaiseUnsupportedCapabilitiesError 由 RaiseUnsupportedCapabilitiesError 方法调用,以将 ExecuteSelect 操作请求的功能与视图支持的功能进行比较。

SqlDataSource 控件

SqlDataSource 控件表示与关系数据库(如 SQL Server 或 Oracle 数据库)的连接,或可通过 OLEDB 或开放数据库连接 (ODBC) 访问的数据。数据连接是通过两个重要的属性 ConnectionString 和 ProviderName 建立的。
以下代码片段提供了控件的基本语法:
<asp:SqlDataSource runat="server" ID="MySqlSource"
   ProviderName='<%$ ConnectionStrings:LocalNWind.ProviderName  %>'
   ConnectionString='<%$ ConnectionStrings:LocalNWind %>'
   SelectionCommand= "SELECT * FROM EMPLOYEES" />
<asp:GridView ID="GridView1" runat="server" DataSourceID="MySqlSource" />
在底层数据上配置各种数据操作取决于数据源控件的各种属性(属性组)。
下表提供了SqlDataSource控件的相关属性集,提供了控件的编程接口:
属性组 说明
DeleteCommand,
DeleteParameters,
DeleteCommandType
获取或设置用于删除底层数据中行的 SQL 语句、参数和类型。
FilterExpression,
FilterParameters
获取或设置数据过滤字符串和参数。
InsertCommand,
InsertParameters,
InsertCommandType
获取或设置用于在底层数据库中插入行的 SQL 语句、参数和类型。
SelectCommand,
SelectParameters,
SelectCommandType
获取或设置用于从底层数据库检索行的 SQL 语句、参数和类型。
OnDataSourceViewChanged 获取或设置命令的存储过程将用于对数据进行排序的输入参数的名称。
UpdateCommand,
UpdateParameters,
UpdateCommandType
获取或设置用于更新底层数据存储中行的 SQL 语句、参数和类型。
以下代码片段显示了为数据操作启用的数据源控件:
<asp:SqlDataSource runat="server" ID= "MySqlSource"
   ProviderName='<%$ ConnectionStrings:LocalNWind.ProviderName  %>'
   ConnectionString=' <%$ ConnectionStrings:LocalNWind %>'
   SelectCommand= "SELECT * FROM EMPLOYEES"
   UpdateCommand= "UPDATE EMPLOYEES SET LASTNAME=@lame"
   DeleteCommand= "DELETE FROM EMPLOYEES WHERE EMPLOYEEID=@eid"
   FilterExpression= "EMPLOYEEID > 10">
   .....
   .....
</asp:SqlDataSource>

ObjectDataSource 控件

ObjectDataSource 控件使用户定义的类能够将其方法的输出与数据绑定控件相关联。该类的编程接口与SqlDataSource控件几乎相同。
以下是绑定业务对象的两个重要方面:
可绑定类应该有一个默认构造函数,它应该是无状态的,并且具有可以映射到选择、更新、插入和删除语义的方法。 对象必须一次更新一项,不支持批量操作。
让我们直接看一个例子来使用这个控件。学生类是与对象数据源一起使用的类。该类具有三个属性:学生 ID、姓名和城市。它有一个默认构造函数和一个用于检索数据的 GetStudents 方法。
学生类:
public class Student
{
   public int StudentID { get; set; }
   public string Name { get; set; }
   public string City { get; set; }
   
   public Student()
   { }
   
   public DataSet GetStudents()
   {
      DataSet ds = new DataSet();
      DataTable dt = new DataTable("Students");
      
      dt.Columns.Add("StudentID", typeof(System.Int32));
      dt.Columns.Add("StudentName", typeof(System.String));
      dt.Columns.Add("StudentCity", typeof(System.String));
      dt.Rows.Add(new object[] { 1, "M. H. Kabir", "Calcutta" });
      dt.Rows.Add(new object[] { 2, "Ayan J. Sarkar", "Calcutta" });
      ds.Tables.Add(dt);
      
      return ds;
   }
}
按照以下步骤将对象与对象数据源绑定并检索数据:
创建一个新网站。 在解决方案资源管理器中右键单击项目,添加一个类 (Students.cs),添加一个类模板,然后将上述代码放入其中。 构建解决方案,以便应用程序可以使用对类的引用。 在 Web 表单中放置一个对象数据源控件。 通过选择对象来配置数据源。 选择对象 为不同的数据操作选择数据方法。在此示例中,只有一种方法。 选择数据方法 在页面上放置一个数据绑定控件,例如网格视图,并选择对象数据源作为其基础数据源。 数据绑定控件 在此阶段,设计视图应如下所示: 对象数据源 运行该项目,它会从学生类中检索硬编码的元组。 对象数据结果

AccessDataSource 控件

AccessDataSource 控件表示与 Access 数据库的连接。它基于 SqlDataSource 控件并提供更简单的编程接口。以下代码片段提供了数据源的基本语法:
<asp:AccessDataSource ID="AccessDataSource1 runat="server" 
   DataFile="~/App_Data/ASPDotNetStepByStep.mdb" SelectCommand="SELECT * FROM  [DotNetReferences]">
</asp:AccessDataSource>
AccessDataSource 控件以只读模式打开数据库。但是,它也可以用于执行插入、更新或删除操作。这是使用 ADO.NET 命令和参数集合完成的。
从 ASP.NET 应用程序中更新 Access 数据库是有问题的,因为 Access 数据库是一个普通文件,并且 ASP.NET 应用程序的默认帐户可能没有写入数据库文件的权限。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4