ADO.NET是什么?

ADO.NET是一组用于和数据源进行交互的​​面向对象​​类库。简单来说也就是访问数据库的一种方式


为什么要使用ADO.NET?

在某些编程中总是会需要用到数据库,那如何让应用程序和数据库之间建立联系呢?ADO.NET就提供了应用程序连接数据库的桥梁


ADO.NET由哪些组成呢?

DataSet:数据集

.NET Framework:数据提供程序,为了实现数据操作和对数据的访问


.NET Framework有哪些对象?

SQl Server——ADO.NET五大对象_SQL

Connection:连接数据库

Command:执行SQL语句

DataReader:读取数据库

DataAdapter:将读取的数据填充到DataSet中

DataSet:结果集

顺口溜:Connection相当于一把钥匙,打开图书馆的大门,命令Command去找一本英语书,找到之后但书上全是英文它不认识,就让DataReader去翻译,翻译完成之后传输给了DataAdapter,最后它就拿回了自己家DataSet


SqlConnection

属性和方法

  • ConnectionString:获取或者设置用于打开SQL Server数据库的字符串
  • Database:获取当前数据库或者在连接打开后要使用的数据库的名称
  • State:获取连接的当前状态
  • Provider:包含Connection对象的数据提供者名称
  • DataSource:获取要连接的SQL Server实例的名称
  • Open():打开一个数据库的连接
  • Close():关闭一个已经打开的连接
  • Execute:该方法可以执行SQl语句,并且返回一个RecordSet对象

SqlCommand

属性

  • CommandText:获取或者设置要对数据源执行的T-SQL语句或者存储过程
  • CommandTimeout:获取或者设置在终止执行命令的尝试并生成错误之前的等待时间
  • CommandType:获取或者设置一个值,该值指示如何解释CommandText属性
  • Connection:获取或者设置Command的此实例使用的Connection 
  • DesignTimeVisible:设置一个值,该值指示命令对象是否应在Windows窗体设计器控件中可见

方法

  • ExecuteNonQuery:对连接执行T-SQL语句并返回受影响的行数
  • ExecuteReader:已重载,将CommandText发送到Connection并生成一个DataReader
  • ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或者行

SqlDataAdapter:

属性

  • SelectCommand:用于设置从记录集中选择记录的命令
  • InsertCommand:用于设置向记录集添加记录的命令
  • UpdateCommand:用于设置向记录集更新记录的命令
  • DeleteCommand:用于设置从记录集中删除记录的命令

方法

  • Fill:用于DataSet中添加或刷新行
  • FillSchema:用于将DATaTable添加到DataSet中
  • Update:用于为DataSet记录集中每个已插入、已更新或已删除的行调用相应的INSERT、UPDATE、DELETE语句
  • Dispose:该方法用于销毁SQLDataAdapter对象

SqlDataSet:

是ADO.NET结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。由一组DataTable对象组成

SQl Server——ADO.NET五大对象_SQL_02

属性

  • DataSetName:当前DataSet的名称
  • NameSpace:DataSet的命名空间
  • Tables:当前DataSet中包含的表的集合
  • Relation:当前DataSet中表之间的关系的集合

方法

  • Copy:复制DataSet的结构和数据
  • Clone:复制DataSet的结构吗,但不复制数据
  • Clear:消除DataSet中的数据

怎样才能让它们建立连接呢?

第一步:建立连接

第二步:创建命令对象

第三步:运行命令

第四步:使用记录集


思维导图

SQl Server——ADO.NET五大对象_SQL_03

 

总结

这次对SQl Server的系统学习,发现ADO建立与数据库的连接方法与之前敲学生时使用Visual Basic连接数据的方法是相似的,都是:先连接数据源—>执行SQL语句—>返回结果集这样一个过程。善于在学习中找寻相通点这是我之后应该加强的!

 

不足之处欢迎补充 !😊