1. ADO.NET的前世今生

ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。

ADO.NET可让开发人员以一致的方式存取资料来源(例如 SQL Server 与 XML),以及透过 OLE DB 和 ODBC 所公开的资料来源。资料共用的消费者应用程序可使用ADO.NET 来连接至这些资料来源,并且撷取、处理及更新其中所含的资料。

ADO.NETt可将资料管理的资料存取分成不连续的元件,这些元件可分开使用,也可串联使用ADO.NET也包含 .NET Framework 资料提供者,以用于连接资料库、执行命令和撷取结果。这些结果会直接处理、放入ADO.NET DataSet 物件中以便利用机器操作 (Ad Hoc)的方式公开给使用者、与多个来源的资料结合,或在各层之间进行传递。DataSet 物件也可以与.NET Framework 资料提供者分开使用,以便管理应用程序本机的资料或来自 XML 的资料。

ADO.NET类别 (Class) 位于 System.Data.dll 中,而且会与 System.Xml.dll 中的XML 类别整合。

ADO.NET可为撰写 Managed 程式码的开发人员提供类似于ActiveX Data Objects (ADO)提供给原生元件物件模型 (Component Object Model,COM)开发人员的功能。建议使用ADO.NET而非ADO来存取.NET 应用程序中的资料。

ADO .NET会提供最直接的方法,让开发人员在 .NET Framework 中进行资料存取。

现阶段我们以SqlServer 为案例进行讲解。

Ado.Net 优点

执行效率高。任何ORM框架(对象关系映射,理解为一种可提高访问数据库开发效率的一种框架),在Ado.net 面前都是弟弟, ado.net 作为原装的直接跟数据库打交道,直接操作数据库,没有进行额外的封装。比如我们可以直接执行sql语句,直接调用存储过程。直接操作DataSet数据集等等数据。

缺点:

  1. 开发效率偏慢

  2. 缺乏面向对象思想

2. Connection 连接对象

Connection 是数据库连接对象,用于与数据库建立连接。SqlServer 连接类是SqlConnection , MySql 的连接类是MySqlConnection, Oracle 数据库连接类是 OracleConnection ,这些类都实现了IDbConnection接口。

1. SqlConnection 类

  • 命名空间: System.Data.SqlClient

  • 程序集: System.Data.SqlClient.dll

通过Nuget 将 System.Data.SqlClient 程序集引用到项目中

构造方法:

属性:

常用方法:

  1. 使用无参构造:

    SqlConnection connection = new SqlConnection();
    connection.ConnectionString = "server=.;uid=sa;pwd=123456;database=unit21";
    connection.Open();// 打开连接
    ​
    Console.WriteLine($"State={connection.State}");
    Console.WriteLine($"DataBase={connection.Database}");
    Console.WriteLine($"ServerVersion={connection.ServerVersion}");
    Console.WriteLine($"DataSource={connection.DataSource}");
    Console.WriteLine($"ConnectionTimeout={connection.ConnectionTimeout}");
    ​
    connection.Close();// 一定要记得关闭连接
05-31 13:49