第14章 数据库与应用程序接口

更新时间:2023-06-03 16:09:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库应用

李政伟

第14章 数据库与应用程序接口 通过前面的学习,我们已掌握了SQL Server 2008的基本技术,具备了在后台对数据库进行管 理的能力,那么,如何在前台以windows应用程 序或网页的形式对后台的数据进行插入、修改、 删除呢?

第14章 数据库与应用程序接口 本章学习任务 开发工具连接SQL Server 2008,实现 数据的查询 数据的插入 数据的修改 数据的删除

基本概念

是微软新一代.NET数据库访问架构,一种具有 可扩展性的数据存取模型。 在中,大量复杂的数据操作代码被封装起来, 提供了一个统一的编程模式和一组公用的类来进行任何类 型的数据访问,而与具体开发语言无关。 介于数据源和数据使用者之间的桥梁。开发人员只需编写 少量代码即可轻易地实现数据库操作。 使用者 数据库

对象模型DataSet .NET 数据提供程序 ConnectionTransaction

DataTableCollectionDataTableDataRowCollection DataColumnCollection ConstraintCollection

DataAdapterSelectCommand InsertCommand UpdateCommand DeleteCommand

CommandParameters

DataReader

DataRelationCollection

XML 数据库5

基础 .NET Data Provider访问数据源的一组类库,为 统一对于各类型数据源的访问方式而设计。可用 来连接数据库,执行命令和获取结果。 可直接处理结果,或放在DataSet中。 5种.NET 数据提供程序 用于SQL Server的数据提供程序 用于OLEDB的数据提供程序 用于ODBC的数据提供程序 用于Oracle的数据提供程序 EntityClient数据提供程序 6

SqlClient VS OleDb

用于 SQL Server的数据提供程序 :使用自己的协议与 SQL Server进行通信。轻量且性能良好,直接访问SQL Server,无需添加 OLE DB 或 ODBC层。 用于 OLE DB的数据提供程序:通过 OLE DB服务组件( 提供连接池和事务服务)和用于数据源的 OLE DB 访问 接口与 OLE DB 数据源进行通信。

基础1. .NET Data Provider 对象名称 Connection Command DataAdapter 功能说明 提供和数据源的连接功能。 访问用于返回数据、修改数据、运行存储过程 以及发送或检索参数信息的数据库命令。 DataSet对象和数据源间的桥梁。使用4个 Command对象来运行查询、新建、修改、删除 的SQL命令,把数据加载到DataSet,或者把 DataSet内的数据送回数据源。 通过Command对象运行SQL查询命令取得数据 流,以便进行高速、只读的数据浏览。8

DataReader

2. DataSet(数据集) ADO .NET离线数据访问模型的核心,在内存中暂 存并处理各种从数据源中所取回的数据。 一个存放在内存中的数据暂存区,这些数据须通过 DataAdapter对象与数据库进行数据交换。

可包括多个DataT

able对象,而DataTable包含列和 行,就象一个普通的数据库中的表。甚至能够定义表 之间的关系来创建主从关系(parent-child relationships)。

趣味理解

访问数据库的两种方式

用Connetction、 Command和DataReader 对象,但只能读取数据 库,不能修改数据。

用Connection、 Command、 DataAdapter和DataSet 对象,更灵活,可对数 据库进行各种操作。11

使用 DataSet 可执行以下操作: 在应用程序中将数据缓存在本地,以便对数据进 行处理。如果只需读取查询结果,则 DataReader 是更好的选择。 在层间或从 XML Web services 对数据进行远程 处理。 与数据进行动态交互,例如绑定到 Windows 窗体 控件或组合并关联来自多个源的数据。 对数据执行大量的处理,而不需要与数据源保持 打开的连接,从而将该连接释放给其他客户端使 用。

数据库的访问流程(1)建立Connection对象,创建一个数据库连接。

(2)使用Command对象对数据库发送查询、新增、修改和删 除等命令。 (3)创建DataAdapter对象,从数据库中取得数据。 (4)创建DataSet对象,将DataAdapter对象填充到DataSet对 象(数据集)中。 (5)如果需要,可以重复操作,一个DataSet对象可以容纳多 个数据集合。 (6)关闭数据库。 (7)在DataSet上进行所需操作。数据集的数据输出到窗体中 或者网页上面,需要设定数据显示控件的数据源为数据集。13

图14-2 的结构图

SqlConnection对象SqlConnection类属性 ConnectionString ConnectionTimeout Database DataSource Provider State SqlConnection类方法 Open Close CreateCommand 说 明 获取或设置用于打开数据库的字符串。 获取在尝试建立连接时终止尝试并生成错误之前所等待 的时间。 获取当前数据库或连接打开后要使用的数据库的名称。 获取数据源的服务器名或文件名。 获取在连接字符串的“Provider=”子句中指定的SQL提 供程序的名称。 获取连接的当前状态。 说 明

使用 ConnectionString 所指定的属性设置打开数据库连接。 关闭与数据库的连接。这是关闭任何打开连接的首选方法。 创建并返回一个与 SqlConnection 关联的SqlCommand 对象。

ChangeDatabase

为打开的SqlConnection 更改当前数据库。

SqlConnection对象2. 建立连接字符串ConnectionString 方法:创建SqlConnection对象,设置ConnectionString属性。 1)混合模式连接 须提供登录名和登陆口令。string mycon = "server=(local);database=students;uid=cumt;pwd=cumt";

2)windows模式连接string myconn="server=(local);database=students; Integrated Security=true";

连接ACCESSstring mycon = “provider=Microsfot.Jet.OLEDB.4.0;Data Source=“+Server.MapPath(“~App_Code/Text.mdb";

【例14.1】 设计

一个说明直接建立连接字符串的连接过 程的网页WebForm14-1.aspx。 设计步骤: (1)添加一个名称为WebForm14-1的空网页。 (2)设计界面如下图所示,其中包含一个Button控件 Button1和一个标签Label1。

18

【例14.1】 设计一个说明直接建立连接字符串的连接过 程的网页WebForm14-1.aspx。 protected void Button1_Click(object sender, EventArgs e) { string mystr; SqlConnection myconn = new SqlConnection(); mystr = "Data Source=localhost;Initial Catalog=student; " + " Integrated Security=False;User Id=sa; Password=123456"; myconn.ConnectionString = mystr; myconn.Open(); if (myconn.State == ConnectionState.Open) Label1.Text = "成功连接到SQL Server数据库(lzw)"; else Label1.Text = "不能连接到SQL Server数据库(lzw)"; myconn.Close(); }

19

3. 将连接字符串放在Web.config文件中多在Web.config中保存连接字符串,再通过对文件加密, 从而达到保护连接字符串的目的。 例14.2,在<configuration>节中插入以下代码: <connectionStrings> <remove name="myconn" /> <add name="myconn" connectionString="server=.;database=student;uid=cumt;p wd=cumt"/> </connectionStrings> string mystr = ConfigurationManager.ConnectionStrings["myconn"].ToS tring(); SqlConnection myconn = new SqlConnection(); myconn.ConnectionString = mystr; myconn.Open(); 20

3. 将连接字符串放在Web.config文件中也可在Web.config文件的<configuration>节中插入代码: <appSettings> <add key="myconnstring" value=“Server=(local); Database=Student; Integrated Security=False;User Id=sa;Password=123456;" /> </appSettings> string mystr = ConfigurationManager.AppSettings[" myconnstring"]; SqlConnection conn = new SqlConnection(); conn.ConnectionString = mystr; conn.Open();21

SqlCommand 对象

建立连接后,即可执行操作。一般对数据库的操作被概括 为CRUD—Create、Read、Update和Delete。 1. SqlCommand 类的属性和方法说 明

SqlCommand 类 属性CommandText

获取/设置要对数据源执行的 T-SQL 语句或存储过程。

CommandTimeout 获取/设置在终止执行命令的尝试并生成错误前的等待时间。CommandType 获取或设置一个值,指示如何解释CommandText属性。

ConnectionParameters

数据命令对象所使用的连接对象参数集合(SqlParameterCollection)

22

本文来源:https://www.bwwdw.com/article/kfk1.html

Top