ADO.NET

  五大对象
Connection:提供连接数据库的详细信息。

Command:提供要运行的命令和详细信息。

DataAdapter:管理命令,提取和更新数据。

DataSet:提供数据的存储空间。

DataReader:提供数据的快速只读访问。

ADO.NET类包含在不同的命名空间中:
System.Data:包含所有数据库共有的基本数据对象(如DataSet)。

System.Data.OLEDB包含用于通过OLEDB与数据库通信的对象(如Access、Dbase)。

System.Data.SqlClient:提供用于与SQL Server通信的对象。

DataReader 对象是查询数据库返回的一个关联的、只进的只读数据流。执行查询时,第一行返回到 DataReader 中。数据流保持到数据库的连接,然后返回下一条记录。DataReader 从数据库中读取行数据时,每行的列值都被读取和计算,但是不能被编辑。  

DataReader 的主要属性和方法:

○ FieldCount 属性: 显示当前操作记录的字段总合。
○ Close 方法: 判断 DataReader 对象是否已经关闭。
○ GetString 方法: 以 String 类型返回指定类中的值。
○ GetValue 方法: 以自身的类型返回之死那个列中的值。
○ GetValues 方法: 返回当前记录所有字段的集合。
○ Read 方法: 将“光标”指向 DataReader 对象的下一记录。

Command常用属性:

1.
CommandText 属性 包含 SQL 命令或存储过程名
2.
CommandType 属性 表示要运行的命令类型,可以是 CommandType 枚举值:
StoredProcedure
表示要运行存储过程
TableDirect
表示返回表的所有内容。在这种情况下, CommandText 属性应包含表名。这个值只能用于 OleDb 连接
Text
表示 SQL 文本命令。这是默认值
3.
Connection 用于连接数据库的 Connection 对象。
4 .
Parameters — 集合或 Parameters 对象,用于在命令中传入传出信息

Command 对象提供了一些不同的 Execute 方法来启动存储过程,执行查询或者执行非查询语句,例如更新或插入: 

1.
ExecuteReader () 方法 将数据作 一个 DataReader 象返回。用于任何返回数据的 SQL 查询
2.
ExecuteScalar () 方法 返回 ,例如与特定 查询 相匹配的 记录 数,或者数据 功能 用的 果。
3.
ExecuteNonQuery () 方法 行命令 ,但不返回任何数据 用于执行动作,但不需要返回指的命令,例如 储过 程、插入和更新 数据

 DataAdapter

Fill方法:
将数据源中的数据导入DataSet中,并且可以设置其中的表名。

Fill(DataSetName):只有一个DataSetName参数。导入到DataSet中的表为一个表。表名默认为Table;

Fill(DataSetName,TableName): 可以导入多个表,并为各个表重新命名。

Fill(DataSetName,StartRow,RowsCount,TableName):导入数据源的一部分数据,并非整个表。表示将数据源中从StartRow位置取出RowsCount条记录导入DataSet。

CommandBuilder对象
SqlDataAdapter不会自动生成实现DataSet的更改与关联的SQL Server实例之间的协调所需的Transact—SQL语句。但是如果设置了SqlDataAdapter的SelectCommand属性,则可以创建一个SqlCommandBuilder对象来自动生成用于单表更新的Transact-SQL语句。然后,SqlCommandBuilder将生成其它任何未设置的Transact-SQL语句。 SelectCommand还必须至少返回一个主键列或唯一的列。如果什么都没有返回,就会产生InvalidOperation异常,不生成命令。
DataAdapter对象在数据发生改变时,并不能自动产生数据库系统所需的Transact-SQL语句,如果不使用CommandBuilder而使用Update方法,这时更新数据库的操作是不会实现的因为CommandBuilder对象能为单个表的数据改变自动产生Transact-SQL语句,从而使Update()方法得以实现。

DataTable

当访问 DataTable 对象时,注意它们是按条件区分大小写的。如果其中有两个表出大小写以外字母完全相同,则区分大小写,如果不存在相同的字母的两个命名则不区分大小写。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值