• Recordset属性与方法


    关于分页: 
    首先,我们可以为 PageSize 属性设置一个值,从而指定从记录组中取出的构成一个页的行数;然后通过RecordCount 属性来确定记录的总数;再用记录总数除以 PageSize 就可得到所显示的页面总数;最后通过 AbsolutePage 属性就能完成对指定页的访问  
    ---------------------------------------------------------- 
       BOF 属性:目前指标指到 RecordSet 的第一笔。 
       EOF 属性:目前指标指到 RecordSet 的最后一笔。  
       Move 方法:移动指标到 RecordSet 中的某一条记录。  
       AbsolutePage 属性:设定当前记录的位置是位于哪一页 
    AbsolutePage 属性设定当前记录的位置是位于哪一页的页数编号;使用 PageSize 属性将 Recordset 对象分割为逻辑上的页数,每一页的记录数为 PageSize( 除了最后一页可能会有少于 PageSize 的记录数 )。这里必须注意并不是所有的数据提供者都支持此项属性,因此使用时要小心。与 AbsolutePosition 属性相同, AbsolutePage 属性是以 1 为起始的,若当前记录为 Recordset 的第一行记录, AbsolutePage 为 1。可以设定 AbsolutePage 属性,以移动到一个指定页的第一行记录位置。  
       
    AbsolutePosition 属性:目前指标在 RecordSet 中的位置。 
    若您需要确定目前指标在 RecordSet 中的位置,您可以用AbsolutePosition 属性。AbsolutePosition 属性的数值为目前指标相对於第一笔的位置,由 1 算起,即第一笔的 AbsolutePosition 为 1。注意 , 在存取 RecordSet时,无法保证 RecordSet 每次都以同样的顺序出现。 若要启用 AbsolutePosition,必须先设定为使用用户端cursor( 指针 ), asp 码如下:  
    rs2.CursorLocation = 3  


       PageCount 属性:显示 Recordset 对象包括多少“页”的数据。 
    使用 PageCount 属性,决定 Recordset 对象包括多少“页”的数据。这里的“页”是数据记录的集合,大小等于 PageSize 属性的设定,即使最后一页的记录数比 PageSize 的值少,最后一页也算是 PageCount 的一页。必须注意也并不是所有的数据提供者都支持此项属性。  
       PageSize 属性:显示 Recordset 对象每一页显示的记录数。 
    PageSize 属性是决定 ADO 存取数据库时如何分页显示的关键,使用它就可以决定多少记录组成一个逻辑上的“一页”。设定并建立一个页的大小,从而允许使用 AbsolutePage 属性移到其它逻辑页的第一条记录。PageSize 属性能随时被设定。 
       RecordCount 属性:显示 Recordset 对象记录的总数。 
       rs.RecordCount:游标中的数据记录总数。 
       rs.MoveFirst: 指向第一条记录。 
    rs.Move(6): 移动到第6条记录。 
       rs.MoveLast: 指向最后一条记录。 
       rs.MovePrev: 指向上一条记录。 
       rs.MoveNext: 指向下一条记录。 
       rs.GetRows: 将数据放入数组中 
    Recordset对象的Open函数: 
      Rs.Open 数据表名称或SQL指令,Connection对象,Recordset类型,锁定类型 
    参数一:若指定成数据表名称,则打开整个数据表,若指定成Select指令,则所建立的Recordset对象是Select指令选取的数据记录的结果。 
    参数二:传入某一个已打开的数据库的Connection对象。 
    参数三:是Recordset类型,它含有下表的四种设置值: 
    Recordset类型的设置值 意义 
    AdOpenForwardOnly(=0) 只读,且当前数据记录只能向下移动 
    AdOpenStatic(=3) 只读,当前数据记录可自由移动 
    AdOpenKeyset(=1) 可读写,当前数据记录可自由移动 
    AdOpenDynamic(=2) 可读写,当前数据记录可自由移动 
    AdOpenKeyset和AdOpenDynamic的差别只表现在多人共用数据库时,若以AdOpenKeyset 模式打开数据表,则无法看到其他人新增的数据记录(除非重新启动),如果是以AdOpenDynamic模式打开数据库,则可以看到其他人新增的数据记录。 
    参数四:是锁定类型,它同样含有四种设置值,见下表: 
    锁定类型的设置值 意义 
    adLockReadOnly(=1) 默认值,用来打开只读的数据记录 
    adLockPessimistic(=2) 悲观锁定 
    adLockOptimistic(=3) 乐观锁定 
    adLockBatchOptimistic(=4) 批次乐观锁定 


    Recordset对象 
    记录集对象,用于对TRS数据库/视图进行检索并获取检索结果,以及进行数据库记录维护等操作。 
    【属性】(带的为只读属性,带中括号的为可选参数)  
    Handle: long  
    检索句柄,可用该句柄调用Client API的检索函数。 
    Sources: String  
    当前检索的目标数据库/视图列表。 
    WhereExpr: String  
    当前检索的条件表达式。  
    SortMethod: String  
    当前检索的结果记录排序方式。 
    StatExpr: String  
    当前检索的统计结果表达式列表。 
    DefaultCols: String  
    当前检索条件表达式中缺省的目标字段列表。 
    Options: long  
    当前检索的选项掩码。为下列各掩码值的“或”:统一排序(MIXSORT)、按字检索(NOTSEGMENT)、不存历史(NOTHISTORY)、无命中点(NOTPOINT)、字段与(DOCAND)、字段或(DOCOR)、字段非(DOCNOT)、字段异或(DOCXOR)。 
      ResultID: short  
    检索结果的标识。 
    TotalSteps: short  
    包括当前检索结果在内的已保存的检索结果历史的总步数。  
    SectionNum: short  
    实际被检索的数据库/视图总数。除非检索目标数据库中含有相同的数据库,否则等于检索目标数据库的个数 
    。 StatisticNum: short  
    统计子表达式的个数。 
    TotalRecs 或 RecordCount: long  
    指示当前记录集中的记录总数。  
    TotalHits 或 HitCount: long  
    指示当前记录集中的命中点总数。只有在记录检索时没有指定不存命中点时才有效。 
      SectionName (VARIANT Section): String  
    取结果集里指定的命中数据库/视图名。Section为对象的序号,从零开始,缺省为零。 
    SectionType (VARIANT Section): String  
    取结果集里指定命中对象的类型,只有数据库(DATABASE)和视图(VIEW)两种可能。Section为对象的序号,从零开始,缺省为零。  
    ColumnNum (VARIANT Section): short  
    取结果集里指定命中对象的字段数。Section为对象的序号,从零开始,缺省为零。 
    RecordNum (VARIANT Section): short  
    取结果集里指定命中对象的命中记录数。Section为对象的序号,从零开始,缺省为零。 
    HitPointNum (VARIANT Section): short  
    取结果集里指定命中对象的命中点数,只有在记录检索时没有指定不存命中点时才有效。Section为对象的序号,从零开始,缺省为零。  
    StatResult (VARIANT Section, VARIANT Statis): double  
    取检索的统计结果。Section为对象的序号,从零开始,缺省为-1,表示取所有对象上的统计结果。Statis为统计表达式序号,从零开始,和记录检索函数中的统计结果表达式一一对应。 
      

    BufferSize: long  
    检索结果缓冲区大小,以记录为单位,缺省为128。 
    PageSize: long 
    记录集每页所包含的记录数,读取记录时以此数为单位。缺省为16。 
    CutSize: short  
    DOCUMENT/BIT字段概览截断长度,为零表示不进行截断。缺省为65535,即只取文本内容,不取二进制文件。 
    SummarySet: String  
    读取的概览字段集,缺省为空,表示所有字段。 
    DetailSet: String  
    读取细览字段集,缺省为空,表示所有字段。 
    Separator: String  
    多值字段的分隔符,仅对DATE、NUMBER和CHAR类型字段有效,缺省为’;’。 
    URLToFile: BOOL  
    为TRUE表示对URL(统一资源定位)输出其对应的文件(如HTML等),而不是输出URL本身。缺省值为FALSE。 
       

    PageCount: long  
    指示当前记录集中所包含的数据页数。 
    CurrPage 或 AbsolutePage: long  
    当前记录所在页的序号,从1开始。  
    CurrRec 或 AbsolutePosition: long  
    当前记录的序号,从1开始。  
    BOF: BOOL  
    指示当前记录位置是否位于第一条记录之前,是则返回TRUE。 
    EOF: BOOL  
    指示当前记录位置是否位于最后一条记录之后,是则返回TRUE。  


      RecordID: long  
    当前记录的物理记录号 
    。 Section: short  
    当前记录所在命中数据库/视图的序号。 
    CryptDenied: BOOL  
    为TRUE表示当前记录密码不匹配。 
    Deleted: BOOL  
    为TRUE表示当前记录已被删除。 
    Relevance: double  
    当前记录相对于检索条件的相关性值。 
      Word: String  
    当前的词语。只在词语查询时有效。  
    HitNum: long  
    当前索引词的命中数。只在词语查询时有效。  
    Frequence: long  
    当前索引词的词频数。只在词语查询时有效。 
    IndentNum: short  
    当前索引词相对于主题词的深度。只在词语查询时有效。 
      

    UserGroup: String  
    添加/更新记录时指定记录对外开放的用户组。 
    SecurityCode: long  
    添加/更新记录时指定记录的密码级别。 
    Password: String  
    添加/更新记录时赋予记录的密码。  
      

    【方法】(带中括号的为可选参数) 
      Open (long Connection, BSTR Sources, VARIANT WhereExpr, VARIANT SortMethod, VARIANT StatExpr, VARIANT DefaultCols, VARIANT Options)  
    对数据库/视图进行检索,并把游标定位于第一条记录。Connection为连接句柄,Source指定检索的目标数据库/视图列表,WhereExpr、SortMethod、StatExpr分别为检索的条件表达式、排序方式和统计表达式,DefaultCols为缺省的目标字段列表,Options为检索选项掩码。 
      Reopen (long Connection, VARIANT ResultID) 
    使用检索结果ID重新建立结果集,并把游标定位于第一条记录。Connection为连接句柄,ResultID为检索结果标识号,缺省为零,表示上一次的检索结果。  
      Search (long Connection, BSTR Name, VARIANT Owner, VARIANT TargetExpr)  
    查询数据库的索引词或查询建库词典,并把游标定位于第一条词语。Connection为连接句柄,Name和Owner指定待查询的数据库/词典,TargetExpr为查询条件表达式。 
      Close  
    关闭检索结果记录集并释放所占用的资源。如要使用当前结果ID重新建立结果集请不要调用此方法。 
      

      Sort (VARIANT SortMethod, VARIANT MixSort)  
    对检索结果集进行重新排序。SortMethod指定结果记录的排序方式,为空表示取消排序。MIXSORT表示是否进行统一排序,缺省为FALSE。 
      Lockup (VARIANT Records, long RecordNum)  
    锁定检索结果以修改数据库记录。Records指向要锁定记录的逻辑记录号数组,RecordNum指定数组的大小。两者缺省均为零,表示解除所有记录的锁定。 
      Save (BSTR FileName, VARIANT Columns, VARIANT Records, VARIANT Format, VARIANT SourceMode)  
    把检索结果保存到文件里。FileName为保存的目标文件名,Columns和Records指定保存的字段列表和记录范围。Format指定保存记录的格式,SourceMode指定保存记录里包含的源文件的模式。 
      Clear  
    清除检索结果缓冲区。 


        Move (long MoveCount)  
    移动当前记录的位置,MoveCount参数指示移动的记录数,为正表示向前移,否则表示向后移。 
      MoveFirst  
    移动到记录集的第一条记录。 
      MoveLast  
    移动到记录集的最后一条记录 
    。   MovePrevious  
    移动到当前记录的前一条记录。 
      MoveNext  
    移动到当前记录的后一条记录。  


        Fields  
    返回结果记录集中当前记录的字段集合,是对象中的缺省调用方法。 
      AddNew  
    向记录集中添加一条新的记录,并把当前记录游标指向该记录。 
      Edit (VARIANT Where)  
    更新记录集中指定的记录。Where参数指定要更新记录的条件,缺省为空,表示更新当前记录。 
      Delete (VARIANT Where, VARIANT FastEnable)  
    从记录集中删除指定的记录。Where参数指定删除记录的条件,缺省为空,表示删除当前记录。FastEnable表示是否进行假删除,缺省为TRUE。 
      Update  
    保存对Recordset对象记录所做的修改。每次只能执行一项维护操作。 
    【注释】 
    1. 任何时候,Recordset对象所指的当前记录均为集合内的单个记录; 
    2. 词语查询和维护功能是4.5版本新增,使用方法大部分与数据库/视图查询和维护一致,但部分属性和方法对它没有作用。 
    【举例】 
    set Connect= Server.CreateObject("TRSADO4.Connection") 
    Connect.Open "192.9.200.1", "8888", "system", "manager" 
    ’ 取检索结果  
    set Records= Server.CreateObject("TRSADO4.Recordset") 
    Records.Open Connect, "RMRB", "中国", "-日期", "max(版次),min(版次)", "", 0 
    for i= 1 to Records.TotalRecs  
    Response.write Records("正文") + " 

    Records.MoveNext 
    next 

    ’ 添加新记录 
    Recordset.AddNew 
    Recordset("日期").Value= "2000-10-1" 
    Recordset("正文").Value= "@D:\Readme.txt" 
    Recordset.Update 


    ’ 修改记录内容 Recordset.Edit "版名=要闻" 
    Recordset("版次").Value= "版次+1" 
    Recordset.Update 

    ’ 删除记录 
    Recordset.Delete "版次>10", True 
    Recordset.Update 

    Records.Close 
    Connect.Close
  • 相关阅读:
    作为Web开发人员,我为什么喜欢Google Chrome浏览器
    PostgreSQL数据类型
    Postgres 9.11 网络地址类型函数和操作符
    失败如何助你升入最高管理层
    你真的会用Gson吗?Gson使用指南(2)
    你真的会用Gson吗?Gson使用指南(1)
    软件开发的一些"心法"
    Json解析教程(四.FastJson 的使用)
    JSON数据之使用Fastjson进行解析(一)
    alibaba fastjson常见问题FAQ
  • 原文地址:https://www.cnblogs.com/tatsuya/p/690989.html
Copyright © 2020-2023  润新知