ADO.NET(数据库访问技术)

 

【ADO.net结构】:

  ADO.NET用于访问和操作数据库的两个主要组件是:.NET Framework 数据提供程序DataSet

    a、.NET Framework数据提供程序:是专门为数据操作设计的组件,用于处理不同的数据源,支持访问特定的数据库执行SQL命令检索结果

    b、.NET Framework数据提供程序包含4个核心对象:

       Connection:(连接)建立与特定数据源的连接;

        Command:(命令)对数据源执行命令;

        DataReader:( 数据读取)从数据源中读取只进<只能前进不能后退>只读<只能读取>的数据流;

        DataAdapter:(数据适配器)使用数据源填充DataSet并解决更新。

  【注意】:由于数据源不同,上面4个对象分别针对不同的数据源在.NET Framework数据提供程序中有不同的实现。

    SQL Server数据库需要使用”System.Data.SqlClient命名空间“,

         核心对象分别为:SqlConnectionSqlCommandSqlDataReaderSqlDataAdapter;

    Access数据库需要使用”System.Data.OleDb命名空间“,

         核心对象分别为:OleDbConnectionOleDbCommandOleDbDataReaderOleDbDataAdapter;

    c、DataSet:专门为独立于所有数据源的数据访问而设计的,它在支持ADO.NET中的断开式分布式数据方案中起着至关重要的作用。

        DataSet包含一个或多个DataTable对象的集合,这些对象由数据行数据列以及有关DataTable对象中的数据主键外键约束关系信息组成。

【操作数据库的方法】:

  1、使用ConnectionCommandDataReader对象实现非断开式访问数据库。

    ⑴、更新数据或读取单个数据操作:

      a、创建Connection对象并打开连接;

      b、创建Command对象;

      c、执行相应命令;

      d、关闭数据库连接。

    ⑵、读取多个数据操作:

      a、创建Connection对象并打开连接;

      b、创建Command对象;

      c、执行相应命令,获取DataReader对象;

      d、使用DataReader对象读取数据;

      e、关闭DataRrader对象;

      f、关闭数据库连接。

  2、使用ConnectionDataAdapterDataSet对象实现断开式访问数据库。

    a、创建Connection对象、DataReader对象和DataSet对象;

    b、使用DataAdapter对象将数据库中所请求的数据填充到DataSet对象中;

    c、更新DataSet对象中的数据;

    d、使用DataAdapter对象将DataSet对象中的数据回传到数据库中。

【ADO.NET中的核心对象】:Conneciton对象、Command对象和DataReader对象。

  a、Coneciton对象用于连接数据库,是在应用程序和数据库之间建立一条数据传输通道,只有创建并打开连接,应用程序才能操作数据库中的数据.

  b、Command对象用于执行对数据库中的数据进行增、删、改、查的命令。在操作的过程中,必须保持应用程序和数据库之间的连接。

  c、DataReader对象提供了一个只进只读的数据读取器,用于从查询结果中读取数据,它每次仅能读取一行数据。

【全步骤】:

  1、创建Connection对象;

    【语法】:SqlConnection  连接对象名=new SqlConnection(连接字符串);

  2、打开数据库连接;

    【语法】:连接对象名.Open();

  3、定义需要执行的T-SQL语句;定义String类型的字符串用于保存需要执行的T-SQL语句

  4、创建Command对象;

    【语句】:SqlCommand 命令对象名=new SqlCommand("T-SQL语句",Connection对象);

  5、执行命令,获得DataReader对象;

    【语句】:SqlDataReader  读取器对象名=命令对象.command.ExecuteReader();

  6、使用循环,逐行读取数据;Read方法具有bool类型的返回值。若能读取到数据,则返回true,否则返回false.

    【语句】:while(读取器对象名.Read())

         {

         }

  7、获取当前行中的某一列数据;(可以使用索引或列名来获取当前的某一行数据,索引从0开始,且获取数据时需要进行显式类型转换)

    【语句】:读取器对象名[索引或列名];

  8、关闭DataRead对象;数据读取完毕必须关闭DataReader对象,因为在读取数据时,DataReader对象将独占连接,此时,就无法使用当前连接对象执行其他操作。

    【语句】:读取器对象名.Close();

  9、关闭连接对象。

    【语法】:连接对象名.Close();

 

--------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------

【实际运用是主要分两种情况】:

  1、对于Insert、Update、Delete等单向操作:

    

 

  2、对于Select的双向操作:

    

 

转载于:https://www.cnblogs.com/pengyouqiang88/p/5037320.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值