数据源控件与数据绑定控件进行交互,并隐藏复杂的数据绑定过程。这些工具可将数据提供给数据绑定控件,并支持执行插入,删除,排序和更新等操作。 每个数据源控件都包装一个特定的数据提供者关系数据库,XML文档或自定义类,并有助于:
ASP.NET中有许多数据源控件可用于从SQL Server,ODBC或OLE DB服务器,XML文件以及业务对象访问数据。 根据数据类型,这些控件可以分为两类:
用于分层数据的数据源控件是:
用于表格数据的数据源控件为:
数据源视图数据源视图是DataSourceView类的对象。代表针对不同数据操作(例如排序,过滤等)的自定义数据视图。 DataSourceView类用作所有数据源视图类的基类,这些类定义了数据源控件的功能。 下表提供了DataSourceView类的属性:
下表提供了DataSourceView类的方法:
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控件的相关属性集,该控件提供了控件的编程接口:
以下代码段显示了启用了数据操作的数据源控件: <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; } } 采取以下步骤将对象与对象数据源绑定并检索数据:
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应用程序的默认帐户可能没有写数据库文件的权限。 |