返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

ASP.NET-数据源

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

 数据源控件与数据绑定控件进行交互,并隐藏复杂的数据绑定过程。这些工具可将数据提供给数据绑定控件,并支持执行插入,删除,排序和更新等操作。

每个数据源控件都包装一个特定的数据提供者关系数据库,XML文档或自定义类,并有助于:

  • 管理连接
  • 选择数据
  • 管理演示方面,例如分页,缓存等。
  • 处理数据

ASP.NET中有许多数据源控件可用于从SQL Server,ODBC或OLE DB服务器,XML文件以及业务对象访问数据。

根据数据类型,这些控件可以分为两类:

  • 分层数据源控件
  • 基于表的数据源控件

用于分层数据的数据源控件是:

  • XMLDataSource-允许绑定带有或不带有模式信息的XML文件和字符串。

  • SiteMapDataSource-允许绑定到提供站点地图信息的提供程序。

用于表格数据的数据源控件为:

数据源控件 描述
SqlDataSource 它表示与返回SQL数据的ADO.NET数据提供程序的连接,包括可通过OLEDB和ODBC访问的数据源。
ObjectDataSource 它允许绑定到返回数据的自定义.Net业务对象。
LinqdataSource 它允许绑定到Linq-to-SQL查询的结果(仅受ASP.NET 3.5支持)。
AccessDataSource 它表示与Microsoft Access数据库的连接。

数据源视图

数据源视图是DataSourceView类的对象。代表针对不同数据操作(例如排序,过滤等)的自定义数据视图。

DataSourceView类用作所有数据源视图类的基类,这些类定义了数据源控件的功能。

下表提供了DataSourceView类的属性:

性质 描述
可以删除 指示是否允许在基础数据源上删除。
可以插入 指示是否允许在基础数据源上插入。
CanPage 指示是否在基础数据源上允许分页。
CanRetrieveTotalRowCount 指示总行数信息是否可用。
CanSort 指示是否可以对数据进行排序。
可以更新 指示是否在基础数据源上允许更新。
大事记 获取数据源视图的事件处理程序委托的列表。
名称 视图的名称。

下表提供了DataSourceView类的方法:

方法 描述
可以执行 确定是否可以执行指定的命令。
ExecuteCommand 执行特定命令。
执行删除 对DataSourceView对象表示的数据列表执行删除操作。
执行插入 对DataSourceView对象表示的数据列表执行插入操作。
执行选择 从基础数据存储中获取数据列表。
执行更新 对DataSourceView对象表示的数据列表执行更新操作。
删除 对与视图关联的数据执行删除操作。
插入 对与视图关联的数据执行插入操作。
选择 返回查询的数据。
更新资料 对与视图关联的数据执行更新操作。
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,

过滤参数

获取或设置数据过滤字符串和参数。

InsertCommand,

InsertParameters,

InsertCommandType

获取或设置用于在基础数据库中插入行的SQL语句,参数和类型。

SelectCommand,

选择参数

SelectCommandType

获取或设置用于从基础数据库检索行的SQL语句,参数和类型。
SortParameterName 获取或设置输入参数的名称,该命令的存储过程将使用该输入参数对数据进行排序。

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应用程序的默认帐户可能没有写数据库文件的权限。

------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • ASP.NET-数据绑定

    每个ASP.NET Web表单控件都从其父Control类继承DataBind方法,这使它具有将数据绑定到...

  • ASP.NET-数据源

    数据源控件与数据绑定控件进行交互,并隐藏复杂的数据绑定过程。 这些工具可将数据提...

  • ASP.NET-Ajax控件

    AJAX代表异步JavaScript和XML。 这是一种跨平台技术,可加快响应时间。 AJAX服务器控...

  • ASP.NET-面板控件

    面板控件用作页面上其他控件的容器。 它控制其包含的控件的外观和可见性。 它还允许以...

  • ASP.NET-多视图

    MultiView和View控件使您可以将页面的内容分为不同的组,一次仅显示一个组。 每个View...

  • ASP.NET-日历

    日历控件是功能丰富的Web控件,它提供以下功能: 一次显示一个月 选择一天,一周或一...

猜你感兴趣