Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Sub main()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=E:\demo.xlsExtended Properties=Excel 8.0Persist Security Info=False"
cn.Open
cn.Execute "ALTER TABLE [Sheet1$] ADD COLUMN NewField long"
Set rs = New ADODB.Recordset
rs.ActiveConnection = cn
rs.Open "SELECT * FROM [Sheet1$]"
Debug.Print rs.Fields(rs.Fields.Count - 1).Name
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
下面先简单介绍记录集对象的常用方法。1.AddNew方法
AddNew方法为可更新的Recordset对象创建一个新记录。AddNew方法将添加一条新的空记录,并且定位在该记录上,用户可以在被绑定的数据感知控件中输入修改数据。新增加的记录的值为指定的默认值,如果没有指定值,则为Null。例如:
输入完新记录后,要使用I.1pdate方法才能将数据保存到数据库中,在使用Update方法前,数据库中的数据不会发生改变,只有执行Update方法或通过Data控件移动当前记录时,记录才从缓冲区存储到数据库文件中。使用Update方法后,新记录仍保持为当前记录。
Data1.Recordset.AddNew
2.Delete方法
Delete方法可将当前记录从记录集中删除。进一步介绍见6.4.3节。
3.Edit方法
要我修改数据库的记录,首先使要我的记录成为当前记录,然后使用Edit方法修改记录内容,使用Edit方法后,移动记录或者使用Update方法把数据存入到数据库中。
4..Move方法
可以使用各种:Move方法移动记录,使不同的记录成为当前记录。有5种方法:
MoveFirst.移动到记录集的第一条记录。
Move[,ash移动到记录集的一条记录。
MoveNext:移动到记录集的下一条记录。
MovePrevious:移动到记录集的上一条记录。
Move:可以使用Move方法向前或向后移动若干条记录。语法为:
Recordset.Move NumRecords.Start
其中NumRecords设置向前或向后移动记录的行数,正数表示向后移动NumRecords行,负数表示向前移动NumRecords行。Start参数为可选,表示基准位置,缺省时为当前记录的位置。可以把当前记录集的Bookmark作为基准位置。
5.Find和Seek方法
要查找一个符合条件的记录,在Table型的记录集中可以使用Seek方法,在其他类型的记录集中可以使用Find方法。
共有4种Find方法:FindFirst,Find[,ast,FindNext和:FindPrevious方法,具体介绍见节。使用Seek方法要用到索引,而且只能用于Table类型的记录集。
6.I_Ipdate和CancelIJpdate方法
Update方法保存对Recordset对象的当前记录所做的更改。使用IJpdate方法可以保存自从调用.AddNew方法,或自从现有记录的任何字段值发生更改(使用Edit方法)之后,对Recordset对象的当前记录所作的所有更改。调用LIpdate方法后当前记录仍为当前状态。
如果希望取消对当前记录所做的所有更改或者放弃新添加的记录,则必须调用CancelUpdate方法。调用CanceltJpdate时,更改缓存被重置为空,并使用原来的数据对被绑定的数据感知控件进行刷新。
7.Close方法
使用Close方法可以关闭:Recordset对象以便释放所有关联的系统资源。关闭对象并非是将它从内存中删除,可以更改它的属性设置并且在此之后再次打开。
Recordset对象在程序中使用最频繁,我们在之后的章节中还会详细地讲解如何使用Recordset对象的各种属性及方法,读者如果想先了解其用法。为避免重复,在这里就不再举例了。我们可以编制一个小程序来测试RecordSet对象的一些属性,例如在程序中加入文本框Textl,通过下面的代码:就可以显示出记录的个数。读者可以通过后面章节中使用RecordSet 对象的例子来中使用Data属性和方法的异同。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)