1. 对象组成与数据库连接方法
1.1 了解MIS系统部署方案
(1)一个完整的应用程序通常包括客户端和数据库服务端,客户端是给客户使用的,数据库服务器端主要为应用程序提供数据的存取。我们可以通过如下图来看看两者的关系:
只有本站会员才能查看附件,请 登录
从上面的图,我们可以看出现在我们学习的是客户端和数据库服务器端的一个“桥梁”。
(2)理解(ActiveX Data Objects)。它是.NET平台下应用程序和数据源进行交互的一组面向对象类库。简单理解即:数据访问组件。
1.2 主要组成部分
(1)是一组数据访问模块,它通常包含若干个对象,就像我们做事情的一个团队一样,每个对象都有自己的任务,而且分工非常明确,这样我们在使用过程中需要掌握他们之间是如何“配合”的。关于主要组成架构,我们通过下面的图给出明确的概述:
只有本站会员才能查看附件,请 登录
通过上图我们看到,实际上由两大部分组成:“.NET数据提供程序”和“内存数据集”。其中数据提供程序包括4个对象:Connection对象将应用程序通过网络连接到数据库;Command对象能够将开发者编写的SQL语句通过网络传送给数据库,并执行增、删、改、查方法,完成数据操作,如果执行赠、删、改的SQL语句,则直接返回一个值类型的结果(后面我们详细讲);当执行查询时,如果查询结果是多个数据实体,则可以返回DataReader对象,我们再编写数据提取的方法,把查询结果显示出来。当然我们也可以和DataAdapter对象配合使用,这样返回一个数据集(后面详细讲)。那么如果查询结果返回只有一行一列的情况怎么办呢?这个问题同样后面给您解决。现在我们需要您理解的就是所谓数据提供程序,就是有4个基本对象组成,这4个对象能够完成应用程序到数据库的连接,并执行增、删、改、查操作。
(2)数据提供程序的类型。为什么要研究数据提供程序的类型呢?是因为我们使用C#编写的应用程序,后台数据库除了使用SQLServer以外,还可以是Oracle、MySQL等,不同数据源是不是访问的方法不一样呢?答案是否定的,.NET开发之所以说效率非常高就是因为微软的开发工程师处处为我们着想,他们使用统一的接口,开发了一组能够访问不同数据库的数据提供程序,而对不同数据库使用不同对象访问时,所用的方法是一样的。比如我们使用SqlConnection对象打开SQLServer数据库的连接时,我们使用Open()方法,而且当我们使用OrcaleConnection对象连接Oralce数据的时候,同样使用Open()方法。其他对象的方法也完全一样的。这样你学会了一种数据库访问,其他的就都会了。那么.NET数据提供程序有哪些类型呢?在下面的图中给您清楚的展示,在访问不同的数据源时,需要使用不同的命名空间,这样就能使用该命名空间下对应的各种对象:
只有本站会员才能查看附件,请 登录
需要说明的是ODBC现在已经淘汰了,请您知道就可以了。上图的意思就是告诉我们,如果需要访问SQLServer数据库就需要引入System.Data.SqlClient命名空间,然后使用SqlConnetion、SqlCommand、SqlDataReader、SqlDataAdapter对象。同理如果要访问Access数据你就得需要引入System.Data.OleDb这个命名空间,然后使用OleDbConnection、OleDbCommand等对象,前面我们说了,这些对象的名称不一样但是,所提供的方法是一样的,因为他们使用统一的接口,这就好比我们买的USB设备一样,虽说的不同设备不同厂家生产,但是USB设备的那个插口都是一样的,因为使用的都是统一的USB接口。最后要说的是,如果你想访问MySql数据,那么需要从官网下载对应的MySqlClient.dll数据提供程序模块,因为在.NET平台没有集成。但是引入第三方的也是非常方便的。
1.3 连接数据库的方法
(1)连接数据库的准备工作。知道了数据提供程序是怎么回事了,下面就要解决程序如何连接数据库的问题,首先,要完成连接的准备工作,第一,查看与修改SQLServe4r服务器端口。方法是:SQLServer程序菜单配置工具SQLServer Connfiguration Manager。具体如下:
只有本站会员才能查看附件,请 登录
您也许会问,我以前也没有配置这个也能连接数据库啊,原因是这样的,你练习阶段一般都是在自己的电脑上,也就是本机,本机练习可以不设置。但是我们真正开发中,很多情况是需要连接局域网其它计算机,这样就必须打开TCP/IP协议,同时必须保证1433端口是打开的,这样其它计算机才能访问到。打开以后重启服务即可。(请您自己练习一下)
(2)连接需要的基本条件。应用程序顺利连接到数据库需要具备如下四个基本条件:
只有本站会员才能查看附件,请 登录
服务器IP地址:用于找到数据库服务器的位置。
数据库名称:一个数据库服务器可能部署了多个数据库,需要指明当前需要使用哪一个数据库。
登录账号、密码:为了保证数据安全,在服务器上的任何一个数据库都会有对应的账号和密码,在目前阶段我们只需要知道sa这个超级账号和对应的密码就行,后面我们还会专门学习如何自己创建更安全的账号和密码。现在知道了连接的条件,那么这些条件写在什么地方呢?这就是我们要学习的Connection对象。
(3)Connection对象中的字符串。封装前面的4个条件,将应用程序和数据库通过点对点的连接。封装4个条件是通过该对象的属性ConnectionString来完成的,我们把它叫做“连接字符串”。一个完整的连接字符串的规范写法如下:
只有本站会员才能查看附件,请 登录
例如:Server=192.168.1.2;DataBase=StudentManageDB;Uid=xiaoliu;Pwd=pwd01!这种写法非常通用,请您务必记住!其中User ID可以简写成Uid,Password可以简写成Pwd。
另外,如果您看其他教程时也会看到如下的写法:
Data Source=.;Initial Catalog=StudentManageDB;Integrated Security=True这种写法是windows集成验证登录,只能限于应用程序和数据库都在一台计算机的情况,我们实际开发部署的时候都是使用第一种SQLServer身份验证登录,因为Windows验证不安全,而且不能联网使用。请您把以上两种方法掌握就可以了,如果您在看到有其他的写法,建议就别学了,当前给您写的这两种是最好的。
(4)打开和关闭数据库的连接。当我们写好连接字符串以后,就可以使用Connection对象来打开和关闭数据库的连接了,现在需要访问的是SQLServer数据库,所以我们需要使用SqlConnection对象。具体实现步骤如下:(参考示例1:正确打开和关闭数据库的连接)
只有本站会员才能查看附件,请 登录
(5)关于连接字符串的特别说明:好多您在学习中经常被连接字符串困扰,其实您只要注意如下问题基本就可以了。
只有本站会员才能查看附件,请 登录
好了,以上是连接数据库的具体实现方法,下面一篇文章,我们继续讲解如何编写增、删、改、查方法。
【本次讲解结束】以上内容如有疑问欢迎加入C#学习指导群(375023963)和大家一起交流学习问题。后面我们继续给大家讲解。【本文属原创文章,如转载请注明:http://www.】