一个 data sourse 控件与数据绑定的控件相互作用,并隐藏了复杂的数据的联编过程。这些是提供数据给 data bound 控件的工具,并且支持如插入,删除和更新操作的执行。
每一个 data sourse 控件包裹了一个特殊的数据提供者相关的数据库,XML 文件,或者是自定义类,并且帮助:
有许多可在 ASP.NET 中获得的 data sourse 控件,为从 SQL 服务器,ODBC 或者 OLE DB 服务器,从 XML 文件,和从业务对象中获得数据。
基于数据类型,这些控件能被分为两个种类:
用于分层数据的 data sourse 控件是:
用作表格数据的 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 视图是 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 控件代表到相关数据库比如 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 控件使 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 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;
}
}
采取以下的步骤来将对线绑定到一个 data source 对象和检索数据:
AccessDataSource 控件代表了到 Access 数据库的连接。它基于 SqlDataSource 控件并提供了更简单的编程接口。以下的代码片段提供了 data source 的基本语法:
<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 应用程序账户可能有写数据库文件的权限。
R语言是用于统计分析,图形表示和报告的编程语言和软件环境。 R由Ross Ihaka和Robert Gentleman在新西兰奥克兰大学创建,目前由R...
Go 语言函数闭包Go 函数Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使...
介绍本文档提供了从 Vant 3 到 Vant 4 的升级指南。安装 Vant 4首先你需要安装 Vant 4 以及@vant/compat。@vant/compat...