源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ADO.NET编程之基础知识

  • 时间:2020-10-20 06:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ADO.NET编程之基础知识
[b]一.ADO.NET基础[/b] 程序和数据库交互,要通过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();
    }
  }
}

[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100121_0_50491.png[/img] 测试效果图: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100121_1_1704.png[/img] 最后我们来看看SqlConnection对象的内部原理吧:使用反编译工具reflector就可以; 1.从图中,我们看出来,SqlConnection继承了DbConnection类,实现了ICloneable接口 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100121_2_59530.png[/img] 2.ICloneable接口里面是啥样子呢,我们来看一下,反编译: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100122_3_76401.png[/img] 3.接下来,我们看下Dbconnection类: 从图中可以看出,Dbconnection类是一个抽象类,继承了Component类,实现了IDbConnection接口,和IDisposable接口,下面我们分别来看看这几个 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100122_4_48076.png[/img] 4.Component类: 看得出来这个类,也实现了IDisposable接口哦, [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100123_5_82828.png[/img] 好了,其他还是来看看IDisposable接口内部的神秘面纱吧: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100123_6_75465.png[/img] 看得出来,IDisosable定义了一个Dispose(),抽象无返回值的方法。 以上所述就是本文的全部内容了,希望大家能够喜欢。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部