服务器端数据访问

服务器端数据介绍

连接、命令和数据集

访问基于 SQL 的数据

将 SQL 数据绑定到 DataGrid

执行参数化选择

在 SQL 数据库中插入数据

更新 SQL 数据库中的数据

删除 SQL 数据库中的数据

将 SQL 数据库中的数据排序

处理主-从关系

编写和使用存储过程

访问基于 XML 的数据

本节小结

服务器端数据介绍

数据访问是任何实际应用程序的核心部分,而 ASP.NET 提供了一套丰富的控件,这些控件与公共语言运行库中提供的托管数据访问 API 很好地集成在一起。 本节多次演练同一个示例,该示例使用 ASP.NET DataGrid 控件绑定到 SQL 查询的结果和 XML 数据文件。 本节假定您熟悉数据库基础知识和 SQL 查询语言。

服务器端数据访问很独特,因为 Web 页基本上是无状态的。当试图执行事务时,如插入或更新从数据库检索的数据集中的记录时,这向我们提出了某些困难的挑战。 正如将在本节中看到的,DataGrid 控件可以帮助应付这些挑战,使您得以更多地集中在应用程序逻辑上,对状态管理和事件处理的具体细节则不用考虑太多。

连接、命令和数据集

公共语言运行库为数据密集的应用程序开发提供了完整的托管数据访问 API 集。 这些 API 帮助抽象数据并用一致的方法表示数据,与实际的数据源(SQL Server、OLEDB、XML 等)无关。 最常使用的对象基本上有三种:连接、命令和数据集。

连接表示与某些数据存储区(如 SQL Server 或 XML 文件)的物理连接。

命令表示从数据存储区检索(选择)或对数据存储区进行操作(插入、更新、删除)的指令。

数据集表示应用程序使用的实际数据。 注意,数据集总是同它们的源连接和数据模型断开并可独立修改。 不过,数据集的更改可以很容易与起始数据模型相协调。

有关公共语言运行库中托管数据访问解决方案的更详细演练,请阅读本教程的 ADO.NET 概述一节。

访问基于 SQL 的数据

应用程序一般需要对 SQL 数据库执行一个或多个选择、插入、更新或删除查询。 下表显示上述每个查询的示例。

查询

示例

简单选择

SELECT * from Employees WHERE FirstName = ‘Bradley‘;

联接选择

SELECT * from Employees E, Managers M WHERE E.FirstName = M.FirstName;

插入

INSERT into Employees VALUES (‘123-45-6789‘,‘Bradley‘,‘Millington‘,‘Program Manager‘);

更新

UPDATE Employees SET Title = ‘Development Lead‘ WHERE FirstName = ‘Bradley‘;

删除

DELETE from Employees WHERE Productivity < 10;

为了使页能够访问执行 SQL 数据访问所需的类,必须将 System.Data 和 System.Data.SqlClient 命名空间导入到页中。

<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %>

若要对 SQL 数据库执行选择查询,请创建与数据库的 SqlConnection,传递连接字符串,然后构造包含查询语句的 SqlDataAdapter 对象。 若要用查询结果填充 DataSet 对象,请调用命令的 Fill 方法。

SqlConnection myConnection = new SqlConnection("server=(local)\NetSDK;database=pubs;Trusted_Connection=yes"); SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);
DataSet ds = new DataSet(); myCommand.Fill(ds, "Authors"); Dim myConnection As New SqlConnection("server=(local)\NetSDK;database=pubs;Trusted_Connection=yes") Dim myCommand As New SqlDataAdapter("select * from Authors", myConnection) Dim ds As New DataSet()
myCommand.Fill(ds, "Authors") var myConnection:SqlConnection = new SqlConnection("server=(local)\NetSDK;database=pubs;Trusted_Connection=yes"); var myCommand:SqlDataAdapter = new SqlDataAdapter("select * from Authors", myConnection); var ds:DataSet = new DataSet();
myCommand.Fill(ds, "Authors");

正如本节前面所提到的,使用数据集的好处是它为您提供了断开连接的数据库视图。 可以在应用程序中操作数据集,然后在以后协调更改和实际的数据库。 对于长期运行的应用程序,这通常是最好的方法。 对于 Web 应用程序,通常对每个请求执行短操作(一般只是显示数据)。 通常不需要在一系列请求间保持 DataSet 对象。 对于这类情况,可以使用 SqlDataReader。

SqlDataReader 对从 SQL 数据库检索的数据提供仅向前的只读指针。 因为 SqlDataReader 使用表格数据流 (TDS) 直接从数据库连接读取数据。

服务器端数据访问,布布扣,bubuko.com

时间: 2024-10-19 11:26:38

服务器端数据访问的相关文章

SharePoint 服务器端对象模型 之 使用LINQ进行数据访问操作(Part 2)

(四)使用LINQ进行列表查询 在生成实体类之后,就可以利用LINQ的强大查询能力进行SharePoint列表数据的查询了.在传统SharePoint对象模型编程中,需要首先获取网站对象,再进行其他操作:使用LINQ也是类似,对数据的访问和操作都要先获取DataContext网站,之后再通过这个DataContext进行数据访问. 1.获取网站和列表 DataContext的创建同样也是要使用绝对路径进行构造,并使用GetList方法获取相应的列表.例如下面的代码获取Chapters列表中所有的

Android与服务器端数据交互(基于SOAP协议整合android+webservice)

此文出自:http://www.cnblogs.com/zhangdongzi/archive/2011/04/19/2020688.html 上一节中我们通过http协议,采用HttpClient向服务器端action请求数据.当然调用服务器端方法获取数据并不止这一种.WebService也可以为我们提供所需数据, 那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起. 我们在PC机器java客

MVC5 + EF6 + Bootstrap3 (15) 应用ModelState和Data Annotation做服务器端数据验证

Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-server-side-validation.html 系列教程:MVC5 + EF6 + Bootstrap3 上一节:MVC5 + EF6 + Bootstrap3 (14) 分部视图PartialView 源码下载:点我下载 目录 前言 通过ModelState验证数据 通过Data Annotation验证数据 结尾 前言 在提交数据前进行数据验证可

重要!!!实体类、数据访问类

创建两个类: users类: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { private int _Ids; /// <summary> /// ids /// </summary> public int Ids { get { return _Ids;

.NET Framework 2.0中的数据访问新特性

1. 异步数据访问 ? 支持异步数据编程 ? SqlConnection – BeginOpen – EndOpen ? SqlCommand – BeginExecuteNonQuery – BeginExecuteReader – BeginExecuteXmlReader – EndExecuteNonQuery – EndExecuteReader – EndExecuteXmlReader 2. 多活动结果集(MARS) ? 在 SQL Server 2005 中支持多活动结果集 ?

ADO.NET数据访问技术概览

1. 以数据为中心的应用程序设计 1.1. ADO.NET 支持下列的存储类型? 无结构? 有结构, 无层次的数据 – 以逗号分离的数据(CSV) 文件.Microsoft Excel 电子表格.Microsoft Exchange 文件.Active Directory 文件等? 有层次的数据 – XML 文档等? 关系型数据库 – SQL Server.Oracle.Access 等. 1.2. 连接环境? 连接环境是指用户在这种环境下始终保持与数据源的连接? 优点 – 环境易于实施安全控制

实体类、数据访问类中的属性拓展

类中: using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; namespace 实体类_数据访问类.App_Code { public class Users { SqlConnection conn = null; SqlCommand cmd = null; public Users() { conn = new S

Spring数据访问之JdbcTemplate

Spring数据访问之JdbcTemplate 使用JdbcTemplate的基本操作步骤 1.引jar包 项目的基本架构 这里重点看实现类的内容 1 package cn.hmy.dao.impl; 2 3 4 import java.util.List; 5 6 import org.springframework.jdbc.core.support.JdbcDaoSupport; 7 8 import cn.hmy.beans.Emp; 9 import cn.hmy.dao.IEmpDa

Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm