• 数据库编程之ADO.NET基础


    一、ADO.NET概述 

    1、ADO.NET概述 

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

    ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。

    目前常见的连接数据库的接口有:ADO、ADO.NET、JDBC、ODBC、OLEDB。

    2、ADO.NET架构图


     image
     

    二、使用ADO.NET

    1、.NET框架中包含的数据提供程序

    SQL Server的数据提供程序  提供对SQL Server7.0或更高版本中数据的访问。使用命名空间System.Data.SqlClient 

    OLE DB的数据提供程序  提供对使用OLE DB公开的数据源中数据的访问(如Access)。使用命名空间System.Data.OleDb 

    ODBC的数据提供程序  提供对使用ODBC公开的数据源中数据的访问。使用命名空间System.Data.Odbc 

    Oracle的数据提供程序  适用于Oracle数据源。要求Oracle版本为8.0以上。使用命名空间System.Data.OracleClient

    2、.NET框架中提供的四个核心对象

    Connection 
    建立与特定数据源的连接。所有Connection对象的基类均为DbConnection类。 
    Command 
    代表在数据源上执行一条SQL命令或一个存储过程。对于一个Connection对象,可以独立创建和执行不同的Command对象。所有Command对象的基类均为DbCommand类。 
    DataReader 
    一种快速、低开销对象。从数据源中读取只进且只读的数据流,它无法更新数据库,且它只能通过Command对象的ExecuteReader方法创建。所有DataReader对象的基类均为DbDataReader类。 
    DataAdapter (数据适配器) 
    功能最复杂,是数据源和数据集(DataSet)对象的桥梁,利用Command对象处理后端数据集和数据源的通信。通常用数据源填充DataSet,并解析更新。所有DataAdapter对象的基类均为DataAdapter类。

    3、SQL Server开发

    3-1、SQLConnection属性和方法

    ConnectionString 获取或者设置打开SQL Server的连接字符串

    ConnectionTimeOut 获取尝试建立连接的等待时间

    Database 获取目前连接的数据库名称

    DataSource 获取SQL Server实例的名称

    ServerVersion 获取SQL Server实例的版本

    State 获取目前SqlConnection的连接状态

    Open 打开SQL Server数据库连接

    Close 关闭SQL Server数据库连接

    3-2、SQLCommand属性和方法

    CommandText 获取或设置要对数据源执行的SQL语句或存储过程

    Connection 获取或设置SQLCommand实例使用的SQLConnection

    Parameters 获取SqlParameterCollection

    Cancel 尝试取消SQLCommand的执行

    ExecuteNoQuery 完成SQL语句的异步执行

    ExecuteReader 完成SQL语句的异步执行,返回请求的SqlDataReader

    ExecuteScalar 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行

    CreateParameter 创建SqlParameter对象的新实例

    3-3、DataSet和SqlDataAdapter

    DataSet(在System.Data命名空间下)是ADO.NET的核心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不在依赖于数据库链路。

    DataSet对象的三大特性: 
    (1) 独立性。DataSet独立于各种数据源。 (2) 离线(断开)和连接。 
    (3) DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。 在实际应用中,DataSet使用方法一般有三种: 
    (1) 把数据库中的数据通过DataAdapter对象填充DataSet。

    在实际应用中,DataSet使用方法一般有三种: 
    (1) 把数据库中的数据通过DataAdapter对象填充DataSet。

    (2) 通过DataAdapter对象操作DataSet实现更新数据库。

    (3) 把XML数据流或文本加载到DataSet。

    3-4、存储过程

    3.4.1、存储过程的概念

    存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。 

    3.4.2、存储过程的好处

    1)存储过程允许标准组件式编程

    2)存储过程能实现较快的执行

    3)存储过程能减少网络流量

    4)存储过程可以被作为一种安全机制来充分使用

  • 相关阅读:
    Queueing at Bank【PAT 1017题】
    table标签的布局
    股票投资的24堂必修课1
    股票投资的24堂必修课2基本面分析
    Eclipse最全快捷键 分享便捷与快乐
    浅析将matlab函数编译成dll供Cpp调用的方法
    Python编程语言中调用Matlab绘制保存数据的方案
    Eclipse中10个最有用的快捷键组合
    WPF 4 DataGrid 控件(进阶篇二)
    VBS 操作 IIS
  • 原文地址:https://www.cnblogs.com/cmhunter/p/4340333.html
Copyright © 2020-2023  润新知