
·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ADO.NET学习系列(一)
一.ADO.NET基础
现在来测试一下,连接数据库是否成功了。
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 //使用ADO.NET技术,必须要导入这两个命名空间
7 using System.Data;
8 using System.Data.SqlClient;
9 //
10 namespace ADO.NET1
11 {
12 class PRogram
13 {
14 static void Main(string[] args)
15 {
16 //创建数据库连接(连接字符串)
17 string sqlCon = "server=.;database=DB_MyStudentLife;uid=sa;pwd=PassWord_1";
18 SqlConnection scon = new SqlConnection(sqlCon);
19
20 //打开数据库连接
21 scon.Open();
22
23 //测试,判断数据库的连接状态
24 if (scon.State == ConnectionState.Closed)
25 {
26
27 Console.WriteLine("连接数据库失败");
28 }
29 if (scon.State == ConnectionState.Open)
30 {
31 Console.WriteLine("成功打开连接数据库,连接成功");
32 }
33 Console.ReadKey();
34 }
35 }
36 }
测试数据库连接是否成功打开,如果打开了,就提示成功,否则就提示失败

测试效果图:

最后我们来看看SqlConnection对象的内部原理吧:使用反编译工具reflector就可以;
1.从图中,我们看出来,SqlConnection继承了DbConnection类,实现了ICloneable接口

2.ICloneable接口里面是啥样子呢,我们来看一下,反编译:

3.接下来,我们看下Dbconnection类:
从图中可以看出,Dbconnection类是一个抽象类,继承了Component类,实现了IDbConnection接口,和IDisposable接口,下面我们分别来看看这几个

4.Component类:
看得出来这个类,也实现了IDisposable接口哦,

好了,其他还是来看看IDisposable接口内部的神秘面纱吧:

看得出来,IDisosable定义了一个Dispose(),抽象无返回值的方法。