C#访问数据库

一、ADO.NET数据访问技术

1.1ADO.NET简介(不用看仔细,有机会慢慢体会)

ADO.NET是一种由Microsoft开发的在.NET框架中用于访问数据和数据服务的应用程序编程接口(API)。"ADO"代表ActiveX数据对象(ActiveX Data Objects),是.NET之前Windows平台上用于数据访问的技术。而ADO.NET是为.NET环境专门设计的,它支持与数据库及其他数据源(如XML文件)的连接、检索、操作和更新数据。

ADO.NET设计之初就考虑到了互联网环境的需要,因此它支持断开式设计模式,这意味着应用程序可以在与数据源断开连接的情况下,对数据进行操作,并在必要时重新连接数据源来更新数据。这种设计非常适合Web应用程序,因为它减少了数据库连接的开销并提高了性能。

ADO.NET主要包含以下几个核心组件:

  1. Connection:提供与数据源的连接功能。
  2. Command:允许访问数据库来执行SQL命令、存储过程等。
  3. DataReader:提供一种读取数据库数据的快速流式方式,是前向只读的数据访问方式。
  4. DataAdapter:作为DataSet和数据源之间的桥梁,用于检索数据并将数据变更提交回数据源。
  5. DataSet:是一个内存中的数据表示,可以包含多个表格及其关系,允许数据断开式和独立于数据源的操作。
    下面是他们的关系图,注意看单双箭头:
    在这里插入图片描述
    ADO.NET架构提供了数据的灵活访问,在性能、可伸缩性以及与XML集成方面表现出色,使得它成为.NET应用程序中处理数据的首选方式。

1.2 .NET Framework为不同数据源类型提供的的数据程序

.NET Framework为不同的数据源类型提供了专用的数据提供程序(Data Providers)。每种数据提供程序都是一组专门用于与特定数据库或数据源交互的类。下面是一些常见的.NET数据提供程序及其用途:

  1. System.Data.SqlClient - 专为Microsoft SQL Server数据库设计。这是用于连接到SQL Server数据库并执行操作的最直接和最高效的方式。

  2. System.Data.OleDb - 为那些支持OLE DB的数据源提供了一种统一的访问接口,这些数据源包括Access以及Excel等。

  3. System.Data.Odbc - 使用ODBC驱动程序访问支持ODBC的数据库,如MySQL和PostgreSQL。

  4. System.Data.OracleClient - (已弃用)专门用于访问Oracle数据库的.NET数据提供程序。自.NET Framework 4起,Microsoft建议使用第三方提供程序如Oracle的ODP.NET。

  5. System.Data.SQLite - 第三方提供程序,用于SQLite数据库的访问。

  6. MySql.Data.MySqlClient - 第三方提供程序,用于MySQL数据库的访问。

  7. Npgsql - 第三方提供程序,用于PostgreSQL数据库的访问。

  8. System.Data.EntityClient - 用于Entity Framework的数据提供程序,它抽象出更高级别的数据模型,并使用其他数据提供程序与数据库进行通信。

  9. Microsoft.EntityFrameworkCore.SqlServer - 用于Entity Framework Core的SQL Server提供程序,是在.NET Core中使用SQL Server时的首选。

  10. Microsoft.EntityFrameworkCore.Sqlite - 用于Entity Framework Core的SQLite数据库提供程序。

这些数据提供程序通过.NET Framework的ADO.NET架构,为开发者连接和操作不同数据源提供了接口和实现。随着.NET技术的发展,有些数据提供程序可能被新的API和库所取代,例如.NET Framework中的System.Data.OracleClient已被Oracle的ODP.NET取代,Entity Framework Core提供了新的数据访问方式࿰

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值