数据库基础2

三、DataAdapter对象

DataAdapter对象又称为“数据适配器”,主要作用是在数据库与DataSet对象之间传递数据。根据Command对象要求,将获取数据填入DataSet对象中。

1、创建DataAdapter对象

可以利用“工具箱”中的DataAdapter组件创建,也可以代码编写。

1)创建SqlDataApter对象语法

Dim 对象名  AsNew SqlDataAdapter

2)创建OleDbDataAdapter对象语法

Dim 对象 As New OleDataAdapter

SqlDataAdapter类或OleDbDataAdapter类有如下4种重载形式

  1. SqlDataAdapter()
  1. SqlDataAdapter(SqlCommand 对象名)
  1. SqlDataAdapter(SQL 语句或存储过程,Connection 对象名)
  1. SqlDataAdapter(SQL 语句或存储过程,连接字符串)

2DataAdapter类的主要属性

属相名称

属性说明

SelectCommand

用于设置从数据库中选择数据的SQL语句或存储过程

InsertCommand

用于设置向数据库插入新纪录的SQL语句或存储过程

DeleteCommand

用于设置从数据库中删除记录的sql语句或存储过程

UpdateCommand

用于设置更新数据源中记录的SQL语句或存储过程

注意:这4个属性的值不能直接设置成字符串类型的SQL语句,而应设置成Commad对象。

3DataAdapter对象的主要方法

  1. Fill方法

用于向DataSet对象中填充从数据源中读取的数据。调用Fill方法的语法形式常见的:

DataAdapter 对象名.Fill(DataSet 对象名,“数据表名”)

第一个参数是数据集对象名,表示要填充的数据集对象;第二个参数是一个字符串,表示本地缓冲区中建立的临时表的名称。

提示:Fill方法具有自动打开和关闭的能力。

  1. Update方法

用于将数据集DataSet对象中的数据按 IsertCommand属性、DeleteCommand属性和UpdateCommand属性所定义的形式向数据库中更新,即调用3个属性中所定义的SQL语句,更新数据源。

Update方法常见的调用格式如下:

RDataAdapter 对象名.Update(DataSet 对象名,“数据表名”)

其中第一参数是数据集对象名,表示要将哪个数据集对象中的数据更新到数据源;第二参数是个字符串,表示临时表的名称。

四、DataSet对象

DataSet对象是内存中的数据缓存,专门用来存储从数据源中读出的数据,就像是一个被复制到内存中的数据库的副本,其结构与真正的数据库相似,也可以同时存储多个数据表以及数据表之间的关联。这样,对数据进行的各种处理,都在DataSet对象上完成,不必与数据库一直保持联系。当在DataSet上完成所有操作后,再将对数据的更改通过Update命名回传数据源

1DataSet对象

1)创建DataSet对象

代码编写:Dim 对象名 As DataSet

2)DataSet对象的常用属性

DataSet对象模型比较复杂,DataSet对象中有许多属性,其中最重要的是Tables属性和Relations属性

1Tables属性。它是一个DataTable对象集合,每个DataTable对象代表数据库中的一个表。表示某个特定表的方法:数据集名.Tables(索引值),索引从0开始。

2Relations属性Relations是一个DataRelation对象集,每个DataRelation对象表达了数据表之间的关系。

3DataSet对象的常用方法

1HasChanges方法。用于判断DataSet中的数据是否变化,有变化,返回为Ture;否则False

2GetChanges方法。用于获得DataSet中所有变动的数据,返回一个DataSet对象。弥补了在调用DataAdapter对象中的Update方法更新数据时的不足(直接更新数据库中的所有数据)。但是如果DataSet中的数据没有变化,GetChanges方法返回空,用空的对象去更新数据库会出现异常。为了避免出现异常,可以在更新前利用HasChanges方法判断是否有数据被被修改。

If 数据集名.HasChanges Then

Dim DsChild As DataSet=数据集名.GetChanges

DataAdapter 对象名.Update(DsChild,"数据表名")

End if

3)AcceptChange方法。该方法用于提交自加载DataSet或上次调用AcceptChanges以来对DataSet进行的所有更改。提交后,GetChanges方法返回为空。

4Clear方法。该方法用于清除DataSet中所有数

2DataTable对象

每个DataTable对象代表数据库中的一个表,每个DataTable数据表豆油相应的行和列组成,一个DataTable对象有两个重要的属性,即Columns属性和Row属性。

Columns属性是一个数据表DataColumn对象的集合,每一个DataColumn对象代表了数据中的每一个列;

Rows属性值是一个数据表的DataRow对象的集合。每个DataRow对象代表了数据表中的每一行数据。

Rows属性可以通过索引值表示某一条特定的记录,第一条记录的索引值为0

 

注意:NewRow方法只是生成一个DataRow对象,并不能向表中添加信息的行。

3DataRow对象

DataRow对象用来表示DataTable中单独的一条记录。每一条记录中都包含多个字段,DataRow对象用Itme属性表示这些字段,Item属性后加上索引值或字段名可以表示一个字段的内容。如:DataSet1.Tables(0).Row(0).Item(0),表示DataSet数据集中的第一个表的第一记录的的第一个字段。

 

DataRow的常用方法:

1Add方法。该方法用于向DataTable对象中添加一个新行。

2Delete方法。该方法用于从DataTable对象的DataRow集合中删除指定行。删除行时,必须通过Rows属性的索引值指定要删除行的位置。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值