ADO.NET学习系列(一)
2018-06-18 04:52:08来源:未知 阅读 ()
一.ADO.NET基础
- 程序和数据库交互,要通过ADO.NET进行;通过ADO.NET就能在数据库中执行SQL了。ADO.NET中提供了对不同数据库的统一操作接口(ODBC)。另外还有一种操作数据库的接口是JDBC。
- ADO.NET中通过SqlConnection类创建到SQL Server的链接,Sqlconnection代表一个数据库的链接,ADO.NET中的链接等资源都实现了IDisposable接口。
- 实现了IDisposable接口的对象,在使用完了,要进行资源的释放。调用Dispose()方法。
- 连接方式访问数据库,连接要打开,使用完要关闭。关闭之后,还可以再打开,这就是Close和Dispose的区别。Dispose(),是完全释放资源。
现在来测试一下,连接数据库是否成功了。
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(),抽象无返回值的方法。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Spring系列.ApplicationContext接口 2020-06-11
- 学习Java 8 Stream Api (4) - Stream 终端操作之 collect 2020-06-11
- java学习之第一天 2020-06-11
- Java学习之第二天 2020-06-11
- Spring WebFlux 学习笔记 - (一) 前传:学习Java 8 Stream Ap 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash