ASP RecordSet对象

合集下载

ASP 了解RecordSet对象

ASP  了解RecordSet对象

ASP 了解RecordSet对象
在数据库的访问中,使用Connection对象创建数据源的连接,通过Connection 的Execute方法以及Command对象和Parameter对象来完成数据库中记录添加、修改和删除功能。

ADO组件中的Recordset对象以及Field对象的主要功能是完成对数据库的查询,并提供了一种非常直观的操作方式。

在前面已经接触到了Recordset 对象,并对其有了一个初步的认识。

创建Recordset 对
象有显式和隐式两种方法。

通过Connection对象和Command 对象的Execute 等方法可以隐式创建Recordset对象。

在创建了Recordset对象后,就可以调用其属性、方法和集合,Recordset对象的属性如表9-4,方法如表9-5所示,集合如表9-6所示。

Recordset 对象是ADO组件中最灵活复杂也是最重要的一个对象,它对于数据的管理功能也是其他对象所无法比拟的。

虽然Recordset 对象的属性和方法很丰富,但是受篇幅所限,我们根据实践中的应用情况,在此仅对最常用的几种进行介绍。

ASP对数据库的操作

ASP对数据库的操作

ASP对数据库的操作ASP(Active Server Pages)是一种用于创建动态网页的编程技术,它可以通过与数据库进行交互来动态地显示、检索、更新和删除数据。

在下面的文章中,将介绍ASP对数据库的操作的一些常见技术和方法。

一、数据库连接在ASP中,连接到数据库是第一步。

可以使用以下步骤进行数据库连接:1. 引用ADO库:ADO(ActiveX Data Objects)是一种用于访问数据库的COM组件。

因此,首先需要在ASP页面的开头引用ADO库,例如:```asp<!--#include virtual="/adovbs.inc"-->```2. 创建Connection对象:使用以下代码创建一个Connection对象:```aspDim connSet conn = Server.CreateObject("ADODB.Connection")```3. 打开数据库连接:使用Open方法打开数据库连接,并指定数据库驱动程序和连接字符串,例如:```aspconn.Open "DRIVER={SQLServer};SERVER=server_name;DATABASE=db_name;UID=user_name;PWD=pa ssword;"```二、查询数据一般来说,查询数据是ASP对数据库进行的最常见的操作之一、可以使用以下步骤查询数据库:1. 创建Recordset对象:使用以下代码创建一个Recordset对象:```aspDim rsSet rs = Server.CreateObject("ADODB.Recordset")```2. 执行SQL语句:使用Open方法执行SQL语句,并使用Recordset 对象接收返回的数据,例如:```asprs.Open "SELECT * FROM table_name", conn```3. 读取数据:使用MoveNext和EOF方法循环读取Recordset对象的数据,例如:```aspDo While Not rs.EOFResponse.Write rs("column_name")rs.MoveNextLoop```4. 关闭Recordset对象:使用Close方法关闭Recordset对象,例如:```asprs.CloseSet rs = Nothing```三、插入数据除了查询数据,ASP还可以向数据库中插入数据。

ASP中recordset所有的属性与方法

ASP中recordset所有的属性与方法
rs.close():关闭连接。
属性和方法分开列出
属性:
AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。
AbsolutePosition属性:当前指针的绝对位置。
ActiveConnection属性:指明进行SQL语句的数据库连接。
EOF属性:若指针位于第一条记录之前,返回TRUE、否则返回FALSE。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties:ADO的ResultSet或Connection的值。
Bookmark属性:将指针设置在某条记录。
CursorLocation属性:设置或返回光标提供者的位置,若设为2(adUseServer)表示使用服务器端光标(默认);若设为3(adUseClient)表示使用浏览器端光标。
CursorType属性:指出RecordSet对象中使用的光标类型
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count:RecordSet对象字段数。
rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1
rs(i):第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"):指定字段的数据。
循环得到一条记录的所有值
For Each objFld In rs.Fields
Response.Write objFld
Next

用RECORDSET对象的getstring方法执行数据库查询

用RECORDSET对象的getstring方法执行数据库查询

许多ASP程序员都有过执行数据库查询,然后将查询结果用HTML表格的形式显示出来的经历吧。

通常我们是这么做的:<TABLE><% Do While not rs.EOF %><TR><TD ><%=rs("Field1")% ></TD><TD ><%=rs("Field2")% ></TD>...</TR><% rs.MoveNextLoop %></TABLE>如果查询结果很多,服务器解释你的ASP script将花费大量的时间,因为有许多的Response.Write语句要处理。

如果你将输出的全部结果放在一个很长的字符串里(从<TABLE >到</TABLE >),那么服务器只需解释一遍Response.Write语句,速度就会快得多。

微软公司里的一些能干的家伙已经将想法变成了现实。

(注意:这是一个ADO 2.0以上才有的特性,如果你还在使用以前版本的话,请升级到最新版)二、GetString方法参数有了GetString方法,我们就可以仅用一个Response.Write来显示所有的输出了,它就象是能判断Recordset是否为EOF的DO ... LOOP循环。

GetString的用法如下(所有的参数都是可选的):String = recordset.GetString(StringFormat, NumRows, ColumnDelimiter,RowDelimiter, NullExpr)要从Recordset的结果里生成HTML表格,我们只需关心GetString的5个后面3个参数:StringFormat:指定Recordset 应转换为下列格式NumRows:记录集要转换的行数。

aspRecordCount属性是什么呢

aspRecordCount属性是什么呢

aspRecordCount属性是什么呢
大家知道aspRecordCount属性吗?下面我们就给大家详细介绍一下吧!这也是一个非常常用和重要的属性,我们常用RecordCount 属性来找出一个Recordset 对象包括多少条记录。

如:;
 在了解了Recordset 对象的以上属性和方法后,我们来考虑一下,如何运用它们来达到我们分页显示的目的。

首先,我们可以为PageSize 属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount 属性来确定记录的总数;再用记录总数除以PageSize 就可得到所显示的页面总数;最后通过AbsolutePage 属性就能完成对指定页的访问。

好象很并不复杂呀,下面让我们来看看程序该如何实现呢?
 我们建立这样一个简单的BBS 应用程序,它的数据库中分别有以下五个字段:ID&rdquo;,每个帖子的自动编号;subject&rdquo;,每个帖子的主
题;name&rdquo;,加帖用户的姓名; email&rdquo;,用户的电子邮件地址;postdate&rdquo;,加帖的时间。

数据库的DSN 为bbs&rdquo;。

我们将显示帖子分页的所有步骤放在一个名为ShowList()&rdquo;的过程中,方便调用。

程序如下:
 \’----BBS 显示帖子分页----
 ;。

recordset对象常用方法

recordset对象常用方法

recordset对象常用方法recordset对象常用方法Recordset对象是ADO中最重要的对象之一,它代表数据库查询所返回的记录集。

它是一个容器,可以保存和处理从数据库中取出的记录。

Recordset对象也是可以操作的,有一些方法和属性可以用于处理其中的记录。

1.AddNew该方法用于向列中添加新的记录。

2.Close该方法关闭当前的记录集,释放所有与其有关的资源。

3.Edit该方法的作用是将某条记录变为可编辑状态,以便可以对其中的值进行修改,如果不想被修改,则可调用CancelUpdate方法取消修改,可以调用update方法来更新到数据表中。

4.Fields该属性代表当前记录集中的字段集合,用于获取或设置某个字段的值。

5.Find该方法的功能是从当前Recordset对象中查找某个值,如果能查到,则返回True,否则返回False。

6.MoveFirst这个方法的作用是将当前记录集中的游标移动到第一条记录。

7.MoveLast该方法的作用是将当前的记录集中的游标移动到最后一条记录。

8.MoveNext该方法的作用是将当前记录集中的游标移动到下一条记录。

9.Open该方法用于打开一个数据库中的记录集,并将其保存在Recordset对象中,以便后续的操作。

10.RecordCount该属性用于获取Recordset对象中的记录条数,也可以用来判断当前是否有记录。

11.Update该方法的作用是将Recordset对象中当前记录的修改后的值更新到数据库中,如果想取消更新,则可以调用CancelUpdate方法。

ASP读取数据库问题

ASP读取数据库问题

ASP读取数据库问题rs = Server.CreateObject("ADODB.RecordSet")rs.Open(sqlStr,conn,1,A)注:A=1表示读取数据;A=3表示新增、修改或删除数据。

在RecordSet组件中,常用的属性和方法有:rs.Fields.Count:RecordSet对象字段数。

rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1rs(i):第i个字段的数据,i为0至rs.Fields.Count-1rs("字段名"):指定字段的数据。

rs.RecordCount:数据记录总数。

rs.EOF:是否最后一条记录。

rs.MoveFirst:指向第一条记录。

rs.MoveLast:指向最后一条记录。

rs.MovePrev:指向上一条记录。

rs.MoveNext:指向下一条记录。

rs.GetRows:将数据放入数组中。

rs.Properties.Count:ADO的ResultSet或Connection的属性个数。

rs.Properties(item).Name:ADO的ResultSet或Connection的名称。

rs.Properties:ADO的ResultSet或Connection的值。

rs.close():关闭连接。

属性和方法分开列出属性:AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。

AbsolutePosition属性:当前指针的绝对位置。

ActiveConnection属性:指明进行SQL语句的数据库连接。

EOF属性:若指针位于第一条记录之前,返回TRUE、否则返回FALSE。

Bookmark属性:将指针设置在某条记录。

CursorLocation属性:设置或返回光标提供者的位置,若设为2(adUseServer)表示使用服务器端光标(默认);若设为3(adUseClient)表示使用浏览器端光标。

recordset的open方法

recordset的open方法

已经接触Asp有一段时间了,也做过一个小东东,对Asp操纵数据库也有一些了解。

可那些都是从别人的代码那里入手修改的,仅仅是“之其然而不知其所以然”。

今天本着一切从最根本最基本的态度,从网上查了资料,把Open方法彻底搞明白。

Open方法recordset.Open Source,ActiveConnection,CursorType,LockType,OptionsSourceRecordset对象可以通过Source属性来连接Command对象。

Source参数可以是一个Command 对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。

假如省略这个参数,系统则采用Recordset对象的Source属性。

ActiveConnectionRecordset对象可以通过ActiveConnection属性来连接Connection对象。

这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。

CursorTypeRecordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:--------------------------------------------------------------常数常数值说明-------------------------------------------------------------adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。

adOpenKeyset 1 启动一个Keyset类型的游标。

adOpenDynamic 2 启动一个Dynamic类型的游标。

Recordset对象的一些方法和属性

Recordset对象的一些方法和属性

Recordset对象的一些方法和属性1、AddNew 方法创建可更新 Recordset 对象的新记录。

recordset.AddNew FieldList, ValuesFieldList 可选。

新记录中字段的单个名称、一组名称或序号位置。

Values 可选。

新记录中字段的单个或一组值。

如果Fields 是数组,那么 Values 也必须是有相同成员数的数组,否则将发生错误。

字段名称的次序必须与每个数组中的字段值的次序相匹配。

我们一般是ars.addnewrs("xx")=xxrs("xx")=xxrs.update需要注意的是在立即更新模式(调用 Update 方法时提供者会立即将更改写入基本数据源)下,调用不带参数的AddNew 方法可将EditMode 属性设置为adEditAdd。

提供者将任何字段值的更改缓存在本地。

调用Update 方法可将新记录传递到数据库并将EditMode 属性重置为 adEditNone。

如果传送了 Fields 和 Values 参数,ADO 则立即将新记录传递到数据库(无须调用Update),且EditMode 属性值没有改变 (adEditNone)。

可能大家会问在ASP中使用ADO的AddNew方法和直接使用“Insert into...”语句有和不同?那种方式更好?答:ADO的AddNew方法只是将“Insert into ”语句封装了起来,所以,当对大量数据进行操作的时候,直接使用SQL语句将会大大加快存取数据的速度,因为他减少了ADO的“翻译”时间。

2、Delete 方法删除当前记录或记录组。

recordset.Delete AffectRecordsAffectRecords AffectEnum 值,确定Delete 方法所影响的记录数目,该值可以是下列常量之一。

AdAffectCurrent 默认。

ASP中RecordSet Open和Connection.Execute一些区别和细节-essen

ASP中RecordSet Open和Connection.Execute一些区别和细节-essen

ASP中RecordSet Open和Connection.Execute一些区别和细节rs.open sql,conn:如果sql是delete,update,insert则会返回一个关闭的记录集,在使用过程中不要来个rs.close在文件最后再写rs.close中间可以来多个记录集rs1.open sql1,conn,最后一块关闭记录集:rs.close rs1.closeconn.execute(sql) 如果sql是delete,update,insert则会返回一个关闭的记录集,在使用过程中不要来个rs.close在文件最后再写rs.close中间可以来多个记录集rs1.open sql1,conn,最后一块关闭记录集:rs.close rs1.close.如果sql是update,insert,delete则应该使用conn.execute(sql)也可以不要括号conn.execute sql 如果sql是select语句则应该使用set rs=conn.execute(sql)括号一定要,不能省略:这是因为vbscript的特性,带返回值的调用必须加括号,不带返回值的调用可以不要括号。

注意:不管是rs.open sql,conn还是conn.execute(sql) [这里的SQL是delete,update,insert]执行以后都会返回一个关闭的记录集也就是说如果sql是插入,更新,删除语句,那么set rs=conn.execute(sql)中的RS就没什么意义。

1.conn.executesql="select * from admin where username='xiaozhu'"set rs=conn.execute(sql)执行完以后自动关闭记录集最后只需要关闭连接就可以了conn.closeset conn=nothing2.rs.openset rs=server.createobject("adodb.recordset")sql="select * from admin where username='xiaozhu'"rs.open sql,conn,1,1可以自己设定一些参数,即锁定和游标的移动方式最后要关闭记录集和连接rs.closeset rs=nothingconn.closeset conn=nothingmand.executesql="select * from admin where username='xiaozhu'"set rs=command.execute(sql)***************************************************************************** 1.set rs=conn.execute("如果是select语句") 得到的rs.recordcount=-1rs.open sql,conn("sql为select语句") 得到的rs.recordcount为正常的记录数2.rs.open是打开数据库conn.execute 是执行SQL指令set rs=conn.execute(insert,update,delete)返回一个关闭了的记录集set rs=conn.execute(select)返回一个没有关闭的记录集3.CONN.EXECUTE(SQL,RowsAffected,C)参数含义:SQL的值可以是SQL语句、表名、存储过程名,也可以是数据提供者所能接受的任意字符串。

ASP连接数据库的种方法

ASP连接数据库的种方法

ASP连接数据库的种方法1.使用A连接对象:ASP可以使用A连接对象连接数据库,其中A代表了不同的对象类型,比如ADODB.Connection、ADODB.Recordset等。

这是最常见的连接数据库的方法之一2.使用ODBC连接:ASP支持通过ODBC(Open Database Connectivity)连接数据库。

ODBC是一种标准接口,可以连接不同类型的数据库。

使用ODBC连接数据库需要先创建一个数据源,然后通过数据源名称连接数据库。

3.使用DSN连接:DSN(Data Source Name)是ODBC的一种连接方式,在ASP中可以使用DSN连接数据库。

DSN是一种定义了数据库连接属性的文件,ASP可以使用该文件中的连接信息连接数据库。

4. 使用DSN-less连接:DSN-less连接是指不依赖DSN来连接数据库,而是直接使用连接字符串来连接数据库。

连接字符串包括了数据库的连接属性,如服务器地址、数据库名称、用户名、密码等。

5.使用连接池连接:连接池是一种连接数据库的技术,它利用缓存的连接对象提高数据库连接的性能。

ASP可以使用连接池来连接数据库,提高数据库查询操作的效率。

6.使用DSO连接:DSO(Data Shaping Object)是一种用于连接数据库的COM对象,可以使用它来连接数据库并执行查询操作。

DSO可以通过执行SQL语句或者使用分页功能,方便地进行数据库操作。

7. 使用Excel连接:ASP可以连接Excel文件作为数据库,利用Excel的数据存储和查询功能。

可以通过ADO连接Excel文件,并执行查询操作。

8. 使用Access连接:ASP可以连接Access数据库,Access是一个轻量级的数据库管理系统,支持SQL语言和ODBC连接。

可以通过ADO连接Access数据库,并进行增删改查等操作。

9. 使用SQL Server连接:ASP可以连接Microsoft SQL Server数据库,SQL Server是一种关系型数据库管理系统。

Recordset记录集对象的属性和方式

Recordset记录集对象的属性和方式

Recordset记录集对象的属性和方式dadaVRecordset对象的作用是由数据库返回记录集。

依照查询结果返回一个包括所查询数据的记录集,然后显示在页面上。

因为删除、更新、添加操作不需要返回记录集,因此能够直接利用连接对象或是命令对象的Exexut 方式,可是利用记录集对象有时会更简单,另外,通过记录集对象能够实现比较复杂的数据库治理任务,比如要采纳分页显示记录就必需利用记录集对象。

Recordset对象能够用来代表表中的记录,能够把记录集看成是一张虚拟的表格,包括一条或多条记录(行),每条记录包括一个或多个字段,但任何时候只有一条记录为当前记录。

能够在非显式成立连接对象的情形下,直接打开一个带有查询的记录集,或是对命令对象的查询返回一个记录集。

ADO提供这种灵活性,能够用最简单的方式指明一个字符串来讲明连接方式,从而取得数据库的查询结果,ADO会自动创建所需要的连接对象。

固然也能够显式创建连接对象和命令对象,如此能够取得更多的灵活性,实现更为壮大的功能。

一、成立Recordset对象创建记录集的方式要紧有两种。

能够先成立连接对象,再创建记录集对象;也能够在非显式成立连接对象的情形下,创建记录集对象。

第一种,先成立连接对象,再创建记录集对象,用法见下面的范例。

范例6-23:先成立连接对象,再创建记录集对象<%Set db=("") ' 先成立连接对象"zbsdbbszb"Set rs=(Select * from article) ' 成立记录集对象rs%>注意:为了说明问题的方便,给记录集对象取名为rs,本书下面的实例中记录集对象名均为rs。

第二种,在非显式成立连接对象的情形下,用Server对象的CreatObject方式成立并打开记录集对范例6-24:成立记录集对象<%Set rs=("ADODB. Recordset")" Select * from article","dsn=zbsdbbszb" ' 在Open方式中给出数据源%>说明:▲非显式创建连接对象和命令对象。

浅析ASP中RECORDSET对象对游标的使用

浅析ASP中RECORDSET对象对游标的使用
C n et n对 象 赋 给 对 象 变 量 。 如 果 在 打 开 R crst on c o i eo e d
对象 时没 有使用该对象 变量 .即使在传 递相 同连 接字 符 串 的情况 下 , D 也将 为 每个 新 的 R crst A O eode 创建
新 的 C n et n对 象 。 o nc o i 3 . 打 开 R crst . 当 前 记 录 位 于 第 一 个 记 录 .2 2 eode 时 ( 果 有 )并 且 B F和 E F属 性 被 设 置 为 F l 。如 如 , O O as e
32 r ode对 象的特性 . e rst c
321 如 果 rcrst 象 的 C r roa o . . eode 对 us Lct n属 性 被 设 o i
置 为 a Us Cin d e l t后 打 开 Re ode 。 则 在 返 回 的 e c r st
R crst 象 中 ,i d对 象 的 U d d ig a e属 性 eode 对 Fe l ne y V l n u 不 可 用 。对 部 分 提 供 者 ( 如 Mi oo D C Poie 例 c sf O B rv r r t d
法进 行 对 比及介 绍 。 关键 词 : 游标 ; S ; E O D E A PR C R ST
中图分 类号 :P 9 T 39 文献 标 识码 : B 文章 编码 :6 2 6 5 (0 7 1 — 1 1 0 1 7 — 2 12 0 ) 0 8 — 2 2
1 前 言
R crst 象 表 示 的 是 来 自基 本 表 或 命 令 执 行 eode 对 结 果 的记 录全 集 。 何 时 候 , eode 对 象 所 指 的 当 前 任 R crst 记 录 均 为 集 合 内 的单 个 记 录 。 使 用 R crst 象 操 可 eode 对

3.用Recordset对象的Addnew插入数据的方法

3.用Recordset对象的Addnew插入数据的方法

3.用Recordset对象的Addnew插入数据的方法:语法:rs.addnewrs("field1").value=value1rs("field2").value=value2...rs.update4.修改数据记录(Update)语法:update table set field1=value1,field2=value2,...where fieldx=valuex例子:update book set author=’babycrazy’ where bookno=’CF001’如果用到变量就如下:strno=request.form("bookno")strau=request.form("author")strsql="update book set author=’"&strau&"’ where bookno=’"&strno"’"5.Recordset对象的Update方法:语法:rs("field1").value=value1rs("field2").value=value2...rs.update注意:使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。

例子:strno=request.form("bookno")strau=request.form("author")set adocon=server.createobject("adodb.connection")adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _Server.Mappath=("/cancer/cancer.mdb")strsql="select * from book where bookno=’"&strno&"’"set rs=server.createobject("adodb.recordset")rs.open strsql,adconn,1,3if not rs.eof then ’如果有此记录的话rs("author").value=straurs.updateend ifrs.closeset rs=nothingadocon.closeset adocon=nothing6.删除一条记录(Delete)语法:Delete table where field=value例子:删除book表中作者是cancer的记录delete book where author=’cancer’(注意:如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录) 好了,学会了用这些操作,大家在用asp操作数据库的时候,该是没有什么问题了。

excel vba recordset 修改记录

excel vba recordset 修改记录

excel vba recordset 修改记录在Excel VBA 中,使用Recordset 对象可以方便地操作数据库中的数据。

要修改Recordset 中的记录,可以使用Update 方法。

以下是修改Recordset 中记录的基本步骤:1. 打开一个Recordset 对象,并将其设置为只读模式。

```Dim rs As ADODB.RecordsetSet rs = New ADODB.Recordsetrs.Open "SELECT * FROM YourTable", Connection, adOpenStatic```2. 使用Update 方法来更新Recordset 中的记录。

在更新之前,需要先将Recordset 中的选定记录设置为修改模式。

```rs.MoveFirstrs.MoveLastrs.MoveFirst3. 修改要更新的记录中的字段值。

```rs("FieldName") = NewValue```4. 最后使用Update 方法来将修改后的记录保存到数据库中。

```rs.Update```完整的示例代码如下:```Dim rs As ADODB.RecordsetDim NewValue As VariantSet rs = New ADODB.Recordsetrs.Open "SELECT * FROM YourTable", Connection, adOpenStaticrs.MoveFirst ' 将选定记录移动到第一行rs.MoveLast ' 将选定记录移动到最后一行NewValue = "New Value" ' 设置要更新的字段值rs("FieldName") = NewValue ' 修改字段值rs.Update ' 将修改后的记录保存到数据库中Set rs = Nothing```需要注意的是,在使用Update 方法更新Recordset 中的记录时,需要保证Recordset 中的记录是可更新的。

recordset对象

recordset对象

Recordset对象目录说明ADO Recordset说明ADO Recordset展开编辑本段说明Recordset 对象用来操作来自提供者的数据。

使用ADO 时,通过Recordset 对象可对几乎所有数据进行操作。

所有Recordset 对象均使用记录(行)和字段(列)进行构造。

由于提供者所支持的功能不同,某些Recordset 方法或属性有可能无效。

ADOR.Recordset 和ADODB.Recordset 是用来创建Recordset 对象的ProgID。

由此产生的Recordset 对象行为相同,与ProgID 无关。

ADOR.Recordset 随Microsoft Internet Explorer 安装,而ADODB.Recordset 则随ADO 安装。

Recordset 对象的行为受环境(即客户端、服务器、Internet Explorer 等)的影响。

编辑本段ADO RecordsetADO Recordset 对象用于容纳一个来自数据库表的记录集。

一个Recordset 对象由记录和列(字段)组成。

在ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。

ProgIDset objRecordset=Server.CreateObject("ADODB.recordset") 当您首次打开一个Recordset 时,当前记录指针将指向第一个记录,同时BOF 和EOF 属性为False。

如果没有记录,BOF 和EOF 属性为True。

Recordset 对象能够支持两种更新类型:立即更新- 一旦调用Update 方法,所有更改被立即写入数据库。

批更新- provider 将缓存多个更改,然后使用UpdateBatch 方法把这些更改传送到数据库。

在ADO,定义了4 中不同的游标(指针)类型:动态游标- 允许您查看其他用户所作的添加、更改和删除键集游标- 类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其他用户已删除的记录。

RecordSet对象

RecordSet对象
• 4、MoveLast方法
– 将记录指针移到最后一个记录。
四、RecordSet对象的方法
• 5、Move方法
– 将指针向前或向后移动指定的个数。 – 语法:RecordSet.Move n,start
• 6、AddNew方法
– 向数据库中添加新记录。
• 7、Update方法
– 更新记录。
五、Field对象
– 用于判断是否到记录集的首记录或尾记录。 – 如果指针位于首记录以上时,BOF为True(-1),EOF为
False(0)。 – 如果指针位于尾记录以后时,EOF为True,BOF为False。 – 如果记录集中没有记录,则BOF和EOF均为True,这时
RecordCount属性为0 – 当指针指向记录集中的某一条记录时,BOF和EOF均为
– 语法:Field对象.AppendChunk Data – Data:变体型,其中含有要追加到对象的数据。
Server.MapPath(“db_database.mdb”) Rs.open sql,,1,1 %>
二、打开RecordSet记录集
• 创建记录集后就可以用OPEN打开
RecordSet对象.Open [Source],[ActiveConnection],[CursorType],[LockType],[Options]
Server.MapPath(“db_database.mdb”) Set rs=Server.CreateObject(“ADODB.Recordset”) Rs.Open “Select * From 表1”,conn %>
• 也可以直接建立
<% Set rs=Server.CreateObject(“ADODB.Recordset”) Sql= “Select * From 表1” Rs.ActiveConnection=“Driver={Microsoft Access Driver(*.mdb)};DBQ=” &

第九讲Recordset对象

第九讲Recordset对象

说明
• Soruce
Command对象名或SQL语句或数据表名
• ActiveConnection Connection对象名或数据库连接字 符串
• CursorType
Recordset对象记录集中的指针类型,
• LockType
Recordset对象的使用类型
• Options
Source类型
说明 Command对象名或SQL语句或数据表名 Connection对象名或包含数据库连接信息的字符串 Recordset对象记录集中的指针类型,取值见表92R0e,co可rds省et略对象的使用类型,取值见表9-21,可省 略 控制从服务器取得的记录集的最大记录数目 控制数据处理的位置,客户端还是服务器端 控制欲显示的内容 记录集的总数 记录集的开头 记录集的结尾 数据分页显示时每一页的记录数 数据分页显示时数据页的总数 当前指针所在的数据页 当前指针所在的记录行
当然,用这种方法必须明确建立 Recordset对象,并且要注意Open方法的 参数,要可以读写才行。
示例
添加记录
说明:
• AddNew表示添加一条新记录. • 最后必须用Update方法,才可以彻底添加进去。
示例
修改记录
说明:
• 直接给要修改的字段赋值,然后使用Update方法即可 更新。
说明:
• 必须明确建立Recordset对象,并使用键盘指针1或静 态指针3
分页显示数据具体示例
如何判断当前显示第几页
说明:
• 因为用Request.QueryString方法返回的数据类型是 字符串,这里必须使用CInt函数将返回的字符串转换 为数字。
分页显示数据具体示例
分页显示数据
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ASP RecordSet对象
Recordset对象是ADO中使用最为普遍的对象,因为它含有从数据存储中提取的数据集。

我们经常运行不返回数据的命令,比如那些增加或更新数据的命令,但在大多数情况下很有可能会取得一系列记录。

Recordset对象是拥有这些记录的对象。

可以更改(增加、更新和删除)记录集中的记录,上下移动记录,过滤记录并只显示部分内容等等。

无论是在ASP页面中处理数据,还是利用远程数据服务(RDS)远程
使用数据,Recordset对象是必须处理的对象。

1.RecordSet对象方法
RecordSet对象中最重要的方法是Open方法。

使用Open方法可以打开代表基本表、查询结果或者以前保存的Recordset中记录的游标(即指向数据库中数据的指针),也即可以与数据库建立连接。

其一般形式为:
其中,各参数的含义如下:
●Source 该参数可以是含有一个SQL字符串、表格、视图名称或者存储过
程调用的字符串,也可以是Command对象。

●ActiveConnection 该参数可以是含有DSN、登录名、口令信息的连接字
符串。

如果在ActiveConnection参数中指定DSN信息,则RecordSet对象
产生它自己的连接。

如果已经有了一个连接,也可以将Connection对象传
给RecordSet对象,RecordSet对象将使用这个连接。

●CursorType和LockType 指定打开的RecordSet的类型。

●Options 用于帮助RecordSet评估Source参数。

RecordSet对象中除了Open方法外,还包括其他几个方法如表5-7所示。

2.RecordSet对象属性
RecordSet对象用来查询或操作已经连接的数据源内的数据,它把数据源中查询到的结果封装在一起,然后提供了一系列的方法和属性去处理记录集。

表5-8中列出了RecordSet对象中属性名称及含义。

表5-8 RecordSet对象属性
Recordset对象包含一个由Field对象组成的Fields集合。

每个Field对
象对应于Recordset中的一列。

打开Recordset之前可以调用Fields集
合的Refresh方法来预置该集合。

在表5-8中最重要的是CursorType属性,它定义了所使用游标的类型。

不同的游标类型可规定不同的数据库操作。

一般情况下,游标都是只读的,并且在Recor dSet中的一个方向移动。

这种游标对于显示数据来说是很方便的,但在网站管理中,经常需要添加、修改及删除数据,这时就需要重新设置CursorType属性。

并非每一个数据提供者都可以支持ADO中提供的所有游标,当一个数据提供者不能支持所要求的CursorType时,它可能会返回其他的CursorType,这时,Rec ordSet的CursorType属性将在打开以后改变。

下面对游标进行说明:
●adOpenForwardOnly 仅向前游标。

只能向前移动,默认值。

当只需要在
记录集中单向移动时,使用它可提高性能。

它代表的常数为0。

●adOpenKeyset 键集游标。

这种类型的游标允许看到其他用户所做的修改,
但不能看到其他用户添加和删除的记录。

它代表的常数为1。

●adOpenDynamic 动态游标。

使用该类型游标的用户可以看到其他用户所
作的添加、修改和删除,该类型游标允许在记录集中进行所有类型的活动,
但不包括提供者不支持的书签操作。

它代表的常数为2。

●adOpenSatic 静态游标。

使用它可以查找数据或生成报告的记录集合的静
态副本,但看不见其他用户所做的添加、修改和删除。

它代表的常数为3。

一旦打开了RecordSet,就不能再改变CursorType属性,但是关闭
RecordSet(采用关闭方式)后可以改变CursorType属性,然后可以再
打开RecordSet。

相关文档
最新文档