一、ADO的基础。网
程序和数据库之间的交互应通过ADO.NET进行;SQL可以通过ADO.NET在数据库中执行。ADO.NET提供不同数据库的统一操作接口。另一个操作数据库的接口是JDBC。
在ADO.NET,到SQL Server的链接是通过Sqlconnection类创建的,SqlConnection代表一个数据库链接,ADO.NET的链接等资源都实现了IDisposable接口。
实现IDisposable接口的对象应该在资源用完之后释放资源。调用Dispose()方法。
连接以访问数据库,打开连接并在使用后关闭它。关闭后可以再次打开,这就是关闭和处置的区别。Dispose(),就是完全释放资源。
现在让我们测试与数据库的连接是否成功。
使用系统;使用系统。集合。通用;使用系统。Linq使用系统。文字;使用系统。线程化。任务;//使用ADO.NET技术,必须使用System导入这两个命名空间。数据;使用系统。Data . SqlClient//命名空间ado。net1 { class program { static void main(string[]args){//create database connection(连接字符串)string sqlCon='server='。database=DB _ MyStudentLifeuid=sapwd=Password _ 1 ';SqlConnection scon=新的SqlConnection(sqlCon);//打开数据库连接图标。open();//测试,判断数据库的连接状态if (scon。state==connectionstate。关闭){控制台。writeline('未能连接到数据库');} if (scon。state==connectionstate。打开){控制台。writeline('连接数据库成功打开,连接成功');}控制台。ReadKey();} } }
测试效果图:
最后,我们来看看SqlConnection对象的内部原理:使用反编译工具reflector
1.从图中,我们可以看到SqlConnection继承了DbConnection类并实现了ICloneable接口
2.2中是什么样子的。ICloneable接口?让我们来看看反编译:
3.接下来,让我们看看Dbconnection类:
从图中可以看出,Dbconnection类是一个抽象类,继承了Component类,实现了IDbConnection接口和IDisposable接口。让我们分别看一下这些接口
4.组件类:
可以看到,这个类还实现了IDisposable接口。
好了,让我们来看看IDisposable界面中的奥秘:
可以看到,IDisosable定义了一个Dispose(),一个没有返回值的抽象方法。
以上就是本文的全部内容,希望大家喜欢。