sqldatasource连接mysql_数据绑定(数据源控件 -- SqlDataSource)

数据源控件包括那些所有实现 IDataSource 接口的控件。.NET Framework 包含以下数据源控件:

SqlDataSource:连接到任意 ADO.NET 数据提供程序的数据源。

ObjectDataSource:连接到自定义的数据访问类。(这是大型专业 Web 应用程序倾向使用的数据源控件)

AccessDataSource:连接到 Access 数据库文件。用于小型网站,更好的小范围数据解决方案是使用免费的 SQL Server Express。

XmlDataSource:连接到 XML 文件。

SiteMapDataSource:连接到描述站点导航信息的 web.sitemap 文件。

数据绑定页面的生命周期

数据绑定页面可以完成两类任务:

从数据源中读取数据并为关联的控件提供数据

在关联的控件编辑数据后,它们可以更新数据源

理解页面的声明周期是非常重要的,本质上,数据绑定任务按下列顺序发生:

页面对象被创建(基于 .aspx 文件)

页面生命周期开始,Page.Init 和 Page.Load 事件发生

产生其他所有控件事件

数据源控件执行所有更新。某行被更新触发 Updating 和 Updated 事件。新增某行触发 Inserting 和 Inserted 事件。删除某行触发 Deleting 和 Deleted 事件。

Page.PreRender 事件发生

数据源控件执行所有查询并将获得的数据插入到关联的控件,此时触发 Selecting 和 Selected 事件。

页面被呈现和释放

SqlDataSource

SqlDataSource 代表一个使用 ADO.NET 提供程序的数据库连接,它需要一个通用的方法创建它所需要的 Connection、Command、DataReader 对象。使其唯一可行的办法是有一个数据提供程序工厂来负责创建这些对象。

.NET 和以下 4 个提供程序工厂一起发行:

System.Data.SqlClient

System.Data.OracleClient

System.Data.OleDb

System.Data.Odbc

这些工厂已经在 machine.config 文件中注册,所以可用它们中的任何一个配合SqlDataSource 一起使用,通过设置提供程序的名字来选择数据源:

下一步是提供连接字符串(不需要硬编码),应从 web.config 中读取(使用表达式构造器的方式):

ID="SqlDataSource1" runat="server">

SqlDataSource 命令逻辑由 4 个属性提供:SelectCommand、InsertCommand、UpdateCommand、DeleteCommand,它们都接收一个字符串(SQL 语句或存储过程名称);与之相应的 SelectCommandType、InsertCommandType、UpdateCommandType、DeleteCommandType 也要设置为 Text 或 StoredProcedure (Text 是默认值)。

下面是一个完整的 SqlDataSource ,它定义了从 Employees 表中读取记录的 SELECT 命令:

ProviderName="System.Data.SqlClient"

ConnectionString=""

SelectCommand="select EmployeeID,FirstName,LastName,Title,City from Employees">

创建完数据源后,我们可以在设计时绑定控件,而不必在 Page.Load 事件中编写逻辑了,看图:

324e64d4087b283a4870ac9ce85c3931.png3b17f01f78e6185bb9077a44955a8040.png

智能标签的刷新架构可以促使数据源控件连接数据库并读取查询的信息。

创建一些控件并进行数据绑定,看下效果:

5440fedcd50249a1dc33c344bd2be27e.png

数据绑定探源

我们知道可以用 DataReader 或 DataView 来绑定,那么 SqlDataSource 使用的是哪一种呢?其实这决定于 DataSourceMode 的设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值