欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ADO.NET编程之基础知识

程序员文章站 2024-02-21 08:07:10
一.ado.net基础 程序和数据库交互,要通过ado.net进行;通过ado.net就能在数据库中执行sql了。ado.net中提供了对不同数据库的统一操作接口(odb...

一.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(),是完全释放资源。

现在来测试一下,连接数据库是否成功了。

using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
//使用ado.net技术,必须要导入这两个命名空间
using system.data;
using system.data.sqlclient;
//
namespace ado.net1
{
  class program
  {
    static void main(string[] args)
    {
      //创建数据库连接(连接字符串)
      string sqlcon = "server=.;database=db_mystudentlife;uid=sa;pwd=password_1";
      sqlconnection scon = new sqlconnection(sqlcon);

      //打开数据库连接
       scon.open();

      //测试,判断数据库的连接状态
      if (scon.state == connectionstate.closed)
      {
        
        console.writeline("连接数据库失败");
      }
      if (scon.state == connectionstate.open)
      {
        console.writeline("成功打开连接数据库,连接成功");
      }
      console.readkey();
    }
  }
}

ADO.NET编程之基础知识

测试效果图:

ADO.NET编程之基础知识

最后我们来看看sqlconnection对象的内部原理吧:使用反编译工具reflector就可以;

1.从图中,我们看出来,sqlconnection继承了dbconnection类,实现了icloneable接口

ADO.NET编程之基础知识

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

ADO.NET编程之基础知识

3.接下来,我们看下dbconnection类:

从图中可以看出,dbconnection类是一个抽象类,继承了component类,实现了idbconnection接口,和idisposable接口,下面我们分别来看看这几个

ADO.NET编程之基础知识

4.component类:

看得出来这个类,也实现了idisposable接口哦,

ADO.NET编程之基础知识

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

ADO.NET编程之基础知识

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

以上所述就是本文的全部内容了,希望大家能够喜欢。