ADO.NET对象组成与数据库连接方法

    好多C#初学者这在学习C#与数据库访问时,经常出现各种错误,今天在这里给大家详细的讲解一下。,首先您要明白为什么要学习ADO.NET,前面我们学习C#面向对象编程基础和数据库,在讲数据库的时候,我们就已经告诉您了,数据库除了具备强大的数据处理和分析能力以外,更重要的是它要和应用程序配合使用,应用程序是程序员使用C#或其他编程语言编写的,供普通人员使用。而数据库的数据存取任务多数情况下是通过和自己配套的应用程序完成的。这就需要解决一个问题,那就是使用C#或其他编程语言编写的应用程序是如何与数据库交互呢?在.NET平台中,能够完成这个任务的模块就是ADO.NET,在ADO.NET 中有若干种数据访问对象,它们分别担负着数据库连接、数据库查询、数据更新等任务,这些对象除了能够访问SQLServer 数据库以外,还能访问其他主流数据库,而ADO.NET 最大的好处就是不管你访问哪一种数据库,数据库访问接口都是一样的,也就是你学会了如何访问SQLServer 数据库,那么其他数据库如OracleMySQL等数据库的访问方法是完全一样的。最后需要提醒您的是:我们学习ADO.NET 就是学习如何使用C#实现对数据库的连接、关闭、查询、更新等操作。

1. ADO.NET对象组成与数据库连接方法

1.1 了解MIS系统部署方案

1)一个完整的应用程序通常包括客户端和数据库服务端,客户端是给客户使用的,数据库服务器端主要为应用程序提供数据的存取。我们可以通过如下图来看看两者的关系:

ADO.NET对象组成与数据库连接方法_第1张图片

从上面的图,我们可以看出现在我们学习的ADO.NET是客户端和数据库服务器端的一个“桥梁”。

2 理解 ADO.NET ActiveX Data Objects)。它 .NET平台下应用程序和数据源进行交互的一组面向对象类库。简单理解即:数据访问组件。
 
1.2 ADO.NET主要组成部分
1 ADO.NET 是一组数据访问模块,它通常包含若干个对象,就像我们做事情的一个团队一样,每个对象都有自己的任务,而且分工非常明确,这样我们在使用过程中需要掌握他们之间是如何“配合”的。关于 ADO.NET 主要组成架构,我们通过下面的图给出明确的概述:  
ADO.NET对象组成与数据库连接方法_第2张图片

通过上图我们看到,ADO.NET实际上由两大部分组成:“.NET数据提供程序”和“内存数据集”。其中数据提供程序包括4个对象:Connection对象将应用程序通过网络连接到数据库;Command对象能够将开发者编写的SQL语句通过网络传送给数据库,并执行增、删、改、查方法,完成数据操作,如果执行赠、删、改的SQL语句,则直接返回一个值类型的结果(后面我们详细讲);当执行查询时,如果查询结果是多个数据实体,则可以返回DataReader对象,我们再编写数据提取的方法,把查询结果显示出来。当然我们也可以和DataAdapter对象配合使用,这样返回一个数据集(后面详细讲)。那么如果查询结果返回只有一行一列的情况怎么办呢?这个问题同样后面给您解决。现在我们需要您理解的就是所谓数据提供程序,就是有4个基本对象组成,这4个对象能够完成应用程序到数据库的连接,并执行增、删、改、查操作。

2 )数据提供程序的类型。为什么要研究数据提供程序的类型呢?是因为我们使用 C# 编写的应用程序,后台数据库除了使用 SQLServer 以外,还可以是 Oracle MySQL 等,不同数据源是不是访问的方法不一样呢?答案是否定的, .NET 开发之所以说效率非常高就是因为微软的开发工程师处处为我们着想,他们使用统一的接口,开发了一组能够访问不同数据库的数据提供程序,而对不同数据库使用不同对象访问时,所用的方法是一样的。比如我们使用 SqlConnection 对象打开 SQLServer 数据库的连接时,我们使用 Open ()方法,而且当我们使用 OrcaleConnection 对象连接 Oralce 数据的时候,同样使用 Open ()方法。其他对象的方法也完全一样的。这样你学会了一种数据库访问,其他的就都会了。那么 .NET 数据提供程序有哪些类型呢?在下面的图中给您清楚的展示,在访问不同的数据源时,需要使用不同的命名空间,这样就能使用该命名空间下对应的各种对象:
ADO.NET对象组成与数据库连接方法_第3张图片
需要说明的是ODBC现在已经淘汰了,请您知道就可以了。上图的意思就是告诉我们,如果需要访问SQLServer数据库就需要引入System.Data.SqlClient命名空间,然后使用SqlConnetionSqlCommandSqlDataReaderSqlDataAdapter对象。同理如果要访问Access数据你就得需要引入System.Data.OleDb这个命名空间,然后使用OleDbConnectionOleDbCommand等对象,前面我们说了,这些对象的名称不一样但是,所提供的方法是一样的,因为他们使用统一的接口,这就好比我们买的USB设备一样,虽说的不同设备不同厂家生产,但是USB设备的那个插口都是一样的,因为使用的都是统一的USB接口。最后要说的是,如果你想访问MySql数据,那么需要从官网下载对应的MySqlClient.dll数据提供程序模块,因为在.NET平台没有集成。但是引入第三方的也是非常方便的。

1.3 连接数据库的方法

1)连接数据库的准备工作。知道了数据提供程序是怎么回事了,下面就要解决程序如何连接数据库的问题,首先,要完成连接的准备工作,第一,查看与修改SQLServe4r服务器端口。方法是:SQLServer程序菜单 à 配置工具SQLServerConnfiguration Manager。具体如下:
ADO.NET对象组成与数据库连接方法_第4张图片

您也许会问,我以前也没有配置这个也能连接数据库啊,原因是这样的,你练习阶段一般都是在自己的电脑上,也就是本机,本机练习可以不设置。但是我们真正开发中,很多情况是需要连接局域网其它计算机,这样就必须打开TCP/IP协议,同时必须保证1433端口是打开的,这样其它计算机才能访问到。打开以后重启服务即可。(请您自己练习一下)

2 )连接需要的基本条件。应用程序顺利连接到数据库需要具备如下四个基本条件:
ADO.NET对象组成与数据库连接方法_第5张图片

n        服务器IP地址:用于找到数据库服务器的位置。

n        数据库名称:一个数据库服务器可能部署了多个数据库,需要指明当前需要使用哪一个数据库。

n        登录账号、密码:为了保证数据安全,在服务器上的任何一个数据库都会有对应的账号和密码,在目前阶段我们只需要知道sa这个超级账号和对应的密码就行,后面我们还会专门学习如何自己创建更安全的账号和密码。现在知道了连接的条件,那么这些条件写在什么地方呢?这就是我们要学习的Connection对象。

3 Connection 对象中的字符串。封装前面的 4 个条件,将应用程序和数据库通过点对点的连接。封装 4 个条件是通过该对象的属性 ConnectionString 来完成的,我们把它叫做“连接字符串”。一个完整的连接字符串的规范写法如下:

例如:Server=192.168.1.2;DataBase=StudentManageDB;Uid=xiaoliu;Pwd=pwd01!这种写法非常通用,请您务必记住!其中User ID可以简写成UidPassword可以简写成Pwd

另外,如果您看其他教程时也会看到如下的写法:

Data Source=.;Initial Catalog=StudentManageDB;IntegratedSecurity=True这种写法是windows集成验证登录,只能限于应用程序和数据库都在一台计算机的情况,我们实际开发部署的时候都是使用第一种SQLServer身份验证登录,因为Windows验证不安全,而且不能联网使用。请您把以上两种方法掌握就可以了,如果您在看到有其他的写法,建议就别学了,当前给您写的这两种是最好的。

4 )打开和关闭数据库的连接。当我们写好连接字符串以后,就可以使用 Connection 对象来打开和关闭数据库的连接了,现在需要访问的是 SQLServer 数据库,所以我们需要使用 SqlConnection 对象。具体实现步骤如下:(参考 示例 1 :正确打开和关闭数据库的连接
ADO.NET对象组成与数据库连接方法_第6张图片
5)关于连接字符串的特别说明:好多您在学习中经常被连接字符串困扰,其实您只要注意如下问题基本就可以了。
好了,以上是连接数据库的具体实现方法。

备注:本文转自Andy老师的QQ空间,原文地址:http://user.qzone.qq.com/2200228?ptlang=2052。

你可能感兴趣的:(ADO.NET)