ADO三大对象的属性、方法、事件及常数(三)[1]
[入库:2005年8月18日] [更新:2007年3月24日]
ado三大对象的属性、方法、事件及常数(三)
recordset对象
属性
属性名称 数据类型和用途
absolutepage 可读写long类型,要么是设置或返回当前记录所处的页面序号,要么是一个positionenum常数,见absolutepage用到的常数。在获取或设置absolutepage的值之前,必须先设定pagesize的值。absolutepage是从1开始计数的。如果当前记录位于第一页时,absolutepage的返回值为1,对absolutepage设置将使当前记录指针指向指定页的第一条记录。
absoluteposition* 可读写的long类型(从1开始计数),设置或返回当前记录年处的位置。absoluteposition的最大取值是recordcount属性的值。
activecommand 可读写的string类型,recordset所关联的先前打开的command对象名称
activeconnection 指针类型,指向recordset所关联的先前打开的connection对象,或指向一条完整有效的connectionstring串值。
bof* 只读boolean类型,若为true,表明记录指针已位于recordset第一条记录之前,并且没有了当前记录
bookmark* 可读写variant类型,返回对特定记录的引用或使用一个bookmark值使记录指针指向特定记录
cachesize* 可读写long类型,指定本地cache中所存的记录条数,最小(默认值)为1。若增加了cachesize的值,则在流动recordset以获取更多记录时,能减少与服务器的通信次数。
cursorlocation 可读写long类型,指定可流动游标的位置,即cursortype是位于客户端还是位于服务器端,见cursorlocation用到的常数。默认值是使用ole db数据源提供的游标。
cusrsortype* 可读写long类型,指定recordset游标的类型,见cursortype用到的常数,默认值是forward-only游标
datamember 指针类型,指向关联的dataenvironment.command对象
datasource 指针类型,指向关联的dataenvironment.connection对象
editmode* 只读long类型,返回recordset的编辑状态,见editmode用到的常数
eof* 只读boolean类型,若为true,表明记录指针已超出recordset的最后一条记录,并且没有了当前记录。
filter* 可读写variant类型,要么是一条件表达式(一条有效的sql where子句但又不出现保留字where),要么是指向特定记录的bookmark数组,要么是一个filter常数,详见filter用到的常数。
locktype* 可读写long类型,指定打开recordset所使用的记录锁定方法。默认值是只读,对应于forward-only游标的只读特性。见locktype属性用到的常数。
marshaloptions 可读写long类型,指定客户端改动后,应返回哪个记录集合,此属性仅适合于不常见的ador.recordset对象,此对象是rds.ador.recordset对象成员之一。
maxrecords* 可读写long类型,指定select查询或存储过程返回的最大记录条数,默认值为0,即全部返回
pagecount 只读long类型,返回recordset所有的页数,必须设定了pagesize的值,pagecount的返回值才是真正有意义的。如果recordset不支持pagecount属性,则返回值为-1
pagesize 可读写long类型,设置或返回一个逻辑页所包含的记录条数。使用逻辑页可把大的recordset分解为多个易处理的小部分。通常的做法是把pagesize设为datagrid、msflexgrid或层次型的flexgrid控件所能显示的记录条数。pagesize和锁定jet(2k)或锁定sql server(6.5版及更早版本,2k;7.0版,8k)数据库时用到的表页面大小无关
persistformat 可读写long类型,设置或返回由调用save方法所创建的recordset文件的格式。当前仅有一个值adpersistadtg(默认格式:advanced data tablegram)
recordcount* 只读long类型,如果recordset支持近似定位或支持书签,则返回带可流动游标的recordset所含有的记录数;如果不支持,必须使用movelast方法以取得确实覆盖了所有记录的准确的recordcount数值。如果forward-only类型recordset有一条或多条记录,recordset返回-1(true),任何类型的空的recordset都将返回0(false)
sort* 可读写string类型,包含一条不含保留字order by的sql ordery by子句,用以指定recordset的排序方式
source* 可读写string类型,可以是sql语句、表名、存储过程名或相关command对象名。如果提供了command对象名,则source将返回command.commandtext的值。利用open方法的参数lngoptions可以指定提供给source值的类型
state 可读写long类型,为对象状态常数之一。见state常数
status 只读long类型,表明对recordset进行批处理或其他多记录(bulk)操作后的状态。见status属性用到的常数
注意:上表所列属性是adodb.recordset对象的标准属性,即那些被关系数据库的大多数通用ole db数据提供者所支持的属性。带星号的属性表示它与dao.recordset或rdoresultset对象的相应属性完全一样或很接近。
方法
方法 用途
addnew* 向可更新的recordset添加一条新记录。调用语法为rstname.addnew[{varfield|avarfields},{varvalue|avarvaluese}],其中varfield是单个字段名,avarfields是字段名数组。varvalue是单个字段值,avarvalue是由avarfields指定字段的值所组成的数组。调用update方法则把新记录加到数据库的表中。如果向主关键字不是第一个字段的recordset中添加记录,则必须在addnew方法中指定主关键字的名称和值
cancel 取消异步查询的执行,中止存储过程或复合sql语句创建多个recordset,调用语法为rstname.cancel
cancelbatch* 取消lockedit值为batchoptimistic的recordset的即将生效的批量更新操作,调用语法为:rstname.cancelbatch [lngaffectrecords],可选参数lngaffectrecords的取值见lngaffectrecords用到的常数
clone 复制一个带有独立记录指针的recordset对象,调用语法为:set rstdupe=rstname.clone()
close 关闭recordset对象,以后可以重新设recordset的属性并使用open方法来再度访问recordset 。调用语法为:rstname.close
delete* 如果recordset的lockedit属性值未设为adlockbatchoptimistic,立刻从recordset和相应表中删除当前记录
find 寻找满足指定条件的记录。调用语法为:rstname.find strcriteria [,lngskiprecords, lngsearchdirection [,lngstart]],其中strcriteria是不含where关键字的sql where子句,可选参数lngskiprecords是应用find前所跳过的记录数目,lngdirection指定查找方向(adsearchforward,和adsearchbackward,其中adsearchforward是默认值),可选参数lngstart指定了从哪儿开始查找,其值要么是一个bookmark值,要么是bookmark常数,见varstart参数用到的bookmark常数。
getrows 返回一个二维variant数组(行、列),调用语法为avarname=rstname.getrows(lngrows [,varstart[,{strfieldname|lngfieldindex|avarfieldnames|avarfieldindexes}]],其中lngrows是返回记录行数,varstart指定从哪儿开始查找,其值要么是一个bookmark值,要么是bookmark常数,见varstart参数用到的bookmark常数。第三个参数可以是单个列(字段)的名称或索引,也可以是多个列名称或索引组成的variant数组。如果不指定第三个参数,getrows返回recordset中所有列。
getstring 默认情况下,返回指定数目记录的string串值,记录间由返回代码分隔。记录内由tab分隔。调用语法为: strclip=rstname.getstring(lngrows,[, strcloumndelimiter[,strrowdelimiter,[strnullexpr]]])。其中lngrows为返回记录行数,strcolumndelimiter为可选的列分隔符(vbtab是默认值),strrowdelimiter是可选的行分隔符(vbcr是默认值),strnullexpr是可选参数,用于碰到null值时的替代值(默认值是空字符串)。getstring的主要用途是通过把控件的clip属性设为strclip来处理msflexgrid或mshflexgrid控件
move* 从当前记录移动记录指针。调用语法为:rstname.move lngnumrecords [, varstart],其中lngnumrecords是要跳过的记录数,可选选参数varstart指定从哪开始移动。其值要么是一个bookmark值,要么是bookmark常数,见varstart参数用到的bookmark常数。
movefirst* 移动记录指针到第一条记录,调用语法为:rstname.movefirst
movelast* 移动记录指针到最后一条记录,调用语法为:rstname.movelast
movenext 移动记录指针到下一条记录,调用语法为:rstname.movenext。它是能用于forward-only recordset的唯一move方法
moveprevious* 移动记录指针到前一条记录,调用语法为:rstname.moveprevious
nextrecordset 返回另外的recordset,它通常由能产生多个recordset的复合sql语句(如select * from orders;select * from customers)或存储过程来创建。调用语法为next=rstname.nextrecordset [(lngrecordsaffected)],其中可选参数lngrecordsaffected指定返回到rstnext中去的记录数目。如果已不存在recordset,rstnext被设为nothing
open 在一个活动comman
本文关键:数据库
本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)