• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据

在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据

作者:heker2007 字体:[增加 减小] 来源:互联网 时间:2017-05-11

heker2007通过本文主要向大家介绍了asp:sqldatasource,sqldatasource控件,sqldatasource,sqldatasource1,sqldatasource.select等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

导言

  到目前为止,我们探讨的教程是由表现层,业务逻辑层和数据访问层构成的层次体系结构。数据访问层和业务逻辑层分别在教程第一和第二章提到。在Displaying Data With the ObjectDataSource 这篇教程里,我们探讨了怎样用ASP.NET 2.0的新控件--ObjectDataSource控件在表现层展示数据。

  本教程到目前为止用这种层次结构来处理数据。然而绕过这种体系结构,通过直接把数据查询和业务逻辑放在Web页面上,也可以达到直接在ASP.NET页面上访问,插入,更新,删除数据库数据的目的。对十分庞大或者复杂的应用程序而言,使用层次结构对程序的成功和可维护性是很重要的。然而对很简单的程序来说,没有必要使用层次体系结构。

  ASP.NET 2.0 提供了5个内建的数据源控件, SqlDataSource控件, AccessDataSource控件, ObjectDataSource控件, XmlDataSource控件, 和SiteMapDataSource控件。SqlDataSource控件能直接从关系型数据库中访问和更新数据,包括Microsoft SQL Server,Microsoft Access, Oracle, MySQL等数据库。在本章以及接下来的3章教程里面,我们将探讨如何用SqlDataSource控件来查询和筛选数据库数据,包括插入,更新和删除。

http://files.weikejianghu.com/file_images/article/201605/2016051415142844.gif
图1:ASP.NET 2.0 的5个内建的数据源控件

比较ObjectDataSource控件和 SqlDataSource控件

  从理论上说,ObjectDataSource控件和 SqlDataSource控件都是作为访问数据的一种代理。就象在教程Displaying Data With the ObjectDataSource中讨论的那样,可以在ObjectDataSource控件中设置展示数据的数据类型,以及用来选择,插入,更新和删除数据所调用的方法。一旦完成了ObjectDataSource控件的设置,GridView, DetailsView, DataList等数据Web控件便可以通过绑定ObjectDataSource控件调用其Select(), Insert(), Delete(), 和 Update() methods方法。

  虽然SqlDataSource控件具有和SqlDataSource控件同样的功能,但使用SqlDataSource控件时,我们必须提供详细的数据库连接字符串,以及用来执行选择,更新,插入,删除数据的ad-hoc SQL查询或存储过程。当调用SqlDataSource控件的Select(), Insert(), Update(), and Delete() 方法时,SqlDataSource控件连接到数据库,并传递适当的SQL查询。下图展示了这些方法如何连接数据库,传递查询和返回结果。

http://files.weikejianghu.com/file_images/article/201605/2016051415142845.gif
图2  SqlDataSource控件充当访问数据库的代理

注意:在本章教程中我们主要关注如何从数据库获得数据,在后面的教程中,我们将讨论如何通过设置SqlDataSource控件以支持插入,更新和删除数据。

SqlDataSource 控件和 AccessDataSource 控件

  除了 SqlDataSource 控件外,ASP.NET 2.0 还包AccessDataSource 控件。这两种不同的控件使很多开发者误以为AccessDataSource 控件主要是被设计来与Microsoft Access数据库打交道,SqlDataSource 控件主要是被设计来来与Microsoft SQL Server打交道。实际情况是,SqlDataSource 控件可以与几乎所有.NET能访问的关系型数据库打交道。包括任何 OleDb, ODBC,compliant data stores,比如:Microsoft SQL Server, Microsoft Access, Oracle, Informix, MySQL, and PostgreSQL等。

  SqlDataSource 控件和 AccessDataSource 控件的唯一区别在于AccessDataSource 控件的数据库连接信息只需要提供Access数据库文件的访问路径。而SqlDataSource 控件则需要提供完整的连接字符串。

第一步:创建 SqlDataSource 页面

  在我们探讨用SqlDataSource控件直接操作数据库数据之前,让我们先花些时间在我们的站点项目里添加这些本节里和下三节里需要的ASP.NET页面。首先添加一个名为SqlDataSource的文件夹,在里面添加下列页面,并配置为使用Site.master母板页。

Default.aspx
Querying.aspx
ParameterizedQueries.aspx
InsertUpdateDelete.aspx
OptimisticConcurrency.aspx

http://files.weikejianghu.com/file_images/article/201605/2016051415142846.gif
图3:为SqlDataSource相关教程添加页面

  类似在其它文件夹里,EditInsertDelete文件夹里的Default.aspx将列出这些教程章节。记得用户控件提供这个功能。因此,从解决方案资源管理器中拖拽一个这个用户控件到页面的设计视图,从而添加它到Default.aspx页面

http://files.weikejianghu.com/file_images/article/201605/2016051415143247.gif
图4:将用户控件添加到Default.aspx页面

  最后把这4个页面加入站点地图中。打开Web.sitemap文件并且把下列代码加在“Adding Custom Buttons to the DataList and Repeater”siteMapNode标记之后:

<siteMapNode url="~/SqlDataSource/Default.aspx"
 title="Using the SqlDataSource Control"
 description="Work directly with database data using the SqlDataSource control.">
 <siteMapNode url="~/SqlDataSource/Querying.aspx" title="Retrieving Database Data"
  description="Examines how to query data from a database that can then be
      displayed through a data Web control."/>
 <siteMapNode url="~/SqlDataSource/ParameterizedQueries.aspx"
  title="Parameterized Queries"
  description="Learn how to specify parameterized WHERE clauses in the
      SqlDataSource's SELECT statement." />
 <siteMapNode url="~/SqlDataSource/InsertUpdateDelete.aspx"
  title="Inserting, Updating, and Deleting Database Data"
  description="See how to configure the SqlDataSource to include INSERT, UPDATE,
      and DELETE statements." />
 <siteMapNode url="~/SqlDataSource/OptimisticConcurrency.aspx"
  title="Using Optimistic Concurrency"
  description="Explore how to augment the SqlDataSource to include support for
      optimistic concurrency." />
</siteMapNode>

</div>


http://files.weikejianghu.com/file_images/article/201605/2016051415143248.gif
图5:更新站点地图使之包含新的页面

第二步:添加并设置 SqlDataSource控件

  在SqlDataSource文件夹中打开Querying.aspx页面,切换到设计试图。从工具箱中拖一个SqlDataSource控件到设计器中,设置其ID 为 ProductsDataSource。和ObjectDataSource一样,SqlDataSource不产生任何的声明标记,所以现在在页面上看起来就象一个灰色的方块。点击SqlDataSource控件的智能标签,点“Configure Data Source”链接,进入数据源配置向导。

http://files.weikejianghu.com/file_images/article/201605/2016051415143249.gif
图6:在智能标签里点击“设置数据源”链接。

  ObjectDataSource控件和 SqlDataSource控件的配置向导有些许不同,但最终目的都是相同的:详细的说明了如何从数据库获取,插入,更新和删除数据。ObjectDataSource控件明确指定了要访问的数据库,并提供了要使用的SQL查询声明或存储过程的详细情况

  向导的第一步是选择要访问的数据库,在下拉列表中包含了放在App_Data 文件夹中的数据库,以及添加到服务器资源管理器的数据连接节点中的数据库。一旦我们将一个连接到App_Data文件夹中的NORTHWIND.MDF数据库的连接字符串添加到项目的Web.config 文件中,这个连接字符串就会出现在下拉列表的选项。如下图,选中它,点“下一步”。

http://files.weikejianghu.com/file_images/article/201605/2016051415143650.gif
图7:从下拉列表里选择NORTHWINDConnectionString

  选择数据库后,向导转入“如何从数据库检索数据”界面。有2种方式:第一种指定自定义SQL语句或存储过程,第二种是指定来自表或视图的列。

  注意:我们先探讨使用“指定来自表或视图的列”选项的实例,稍后再探讨用“自定义SQL语句或存储过程”选项的实例。

  图8是我们点击“指定来自表或视图的列”单选按钮时的画面,这里我们选择Products表,返回ProductID, ProductName和UnitPrice 列。完成选择后,在底部的方框内将显示SQL语句: SELECT [ProductID], [ProductName], [UnitPri

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据
  • aspx中的mysql操作类sqldatasource使用示例分享
  • SqlDataSource 链接Access 数据
  • ASP.NET2.0数据库入门之SqlDataSource

相关文章

  • 2017-05-11axp.net ScriptManager的简单用法
  • 2017-05-11Asp.NET生成各种网页快捷方式的代码(桌面url快捷方式,收藏夹/开始菜单快捷方式)
  • 2017-05-11.net Cookies安全性实践分析
  • 2018-08-20Asp.Net使用服务器控件Image/ImageButton显示本地图片的方法
  • 2017-05-11asp.net fileupload 实现上传
  • 2017-05-11ASP.Net中表单POST到其他页面的方法分享
  • 2017-05-11.net core使用redis基于StackExchange.Redis
  • 2017-05-11asp.net textarea换行函数代码
  • 2018-08-20如何利用HttpClientFactory实现简单的熔断降级
  • 2017-05-11asp.net中js和jquery调用ashx的不同方法分享

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 解决 ASP.NET中目录访问权限的问题
    • Visual Studio 2013+OpenCV2.4.10环境搭建教程
    • ASP.NET MVC文件上传教程(二)
    • asp.net 上传或下载当文件名包含有特殊字符"#"的处理
    • 基于ERP程序的公共代码中出现的问题及过度封装不方便维护的解决办法
    • 在C#中生成与PHP一样的MD5 Hash Code的方法
    • ASP.NET缓存介绍
    • ASP.NET MVC5网站开发管理列表、回复及删除(十三)
    • .net 解决spider多次和重复抓取的方案
    • JAVA正则表达式 Pattern和Matcher

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有