当前位置:K88软件开发文章中心编程语言.NETASP.NET → 文章内容

ASP.NET 数据源

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 13:58:04

由 creepercat 创建,Carrie 最后一次修改 2016-08-12 数据源一个 data sourse 控件与数据绑定的控件相互作用,并隐藏了复杂的数据的联编过程。这些是提供数据给 data bound 控件的工具,并且支持如插入,删除和更新操作的执行。 每一个 data sourse 控件包裹了一个特殊的数据提供者相关的数据库,XML 文件,或者是自定义类,并且帮助:管理连接选择数据管理像分页,缓存等的展示方面操控数据 有许多可在 ASP.NET 中获得的 data sourse 控件,为从 SQL 服务器,ODBC 或者 OLE DB 服务器,从 XML 文件,和从业务对象中获得数据。 基于数据类型,这些控件能被分为两个种类: 分层的 data sourse 控件基于表格的 data sourse 控件 用于分层数据的 data sourse 控件是:XMLDataSource - 它允许用或者不用模式信息绑定 XML 文件和字符串。SiteMapDataSource - 它允许绑定一个提供站点地图信息的提供者。 用作表格数据的 data source 控件是: Data source 控件描述SqlDataSource它表示到返回 SQL 数据的 ADO.NET data provider 的连接,包括通过 OLEDB 和 QDBC 可获得的 data sources。ObjectDataSource它允许绑定一个返回数据的自定义的 .Net business 对象LinqdataSource它允许绑定 Linq-t0-SQL 查询的结果。(仅由 ASP.NET 3.5 支持)AccessDataSource它表示到 Microsoft Access 数据库的连接。Data Source 视图Data source 视图是 DataSourceView 类的对象,它代表一个自定义的为不同数据操作如排序,过滤等而设计的数据视图。 DataSourceView 类作为所有 data source 视图类的基本类而使用,它定义了 data source 控件的性能。 以下表格提供了 DataSourceView 类的属性: 属性描述CanDelete表示是否允许删除潜在的 data source。CanInsert表示是否允许插入潜在的 data source。CanPage表示是否允许给潜在的 data source 分页。CanRetrieveTotalRowCount表示总的行信息能否获得。CanSort表示数据是否能排序。CanUpdate表示是否允许在潜在的 data source 上更新。Events获得 data source 视图代表的事件句柄的列表。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 或 Open Database Connectivity(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" />在潜在的数据上配置不同的数据操作依赖于 data source 控件的不同属性(属性集)。 以下的表格提供了相关的 SqlDataSource 控件的属性集,它提供了控件的编程接口: 属性组描述DeleteCommand,DeleteParameters,DeleteCommandType获取或设置 SQL 语句,参数和在潜在数据中删除行的类型。FilterExpression,FilterParameters获取并设置数据过滤字符串和参数。InsertCommand,InsertParameters,InsertCommandType获取或设置 SQL 语句,参数和在潜在数据中插入行的类型。SelectCommand,SelectParameters,SelectCommandType获取或设置 SQL 语句,参数和在潜在数据中检索行的类型。SortParameterName获取或设置一个输入参数的名字,它将被命令存储的过程用来给数据排序。UpdateCommand,UpdateParameters,UpdateCommandType获取或设置 SQL 语句,参数和在潜在数据中更新行的类型。以下的代码片段展示了能被用来做数据操作的 data source 控件: <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 控件使 user-defined 类能让它们方法的输出和 data bound 控件相连接。这个类的编程接口几乎和 SqlDataSource 控件相同。 以下是绑定客户对象的两个重要方面: 可绑定的类应该拥有一个默认的构造函数,它应该是无状态的,并且拥有能够映射到选择,更新,插入,和删除语意的方法。 对象必须一次更新一个项目,批处理操作是不支持的。 让我们直接到一个例子中来使用这个控件。student 类是被用来和一个 data source 对象一起使用的类。这个类有三个属性:a student id,name,和 city。它有一个默认的构造函数和一个检索数据的 GetStudents 方法。 student 类: 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

[1] [2]  下一页


ASP.NET 数据源