您的位置:首页 > 数据库 > SQL

关于 rs.Open SQL_str,conn,1,2 中数字的问题

2015-04-25 15:08 253 查看
 记录集游标和锁定类型   

  你可以用四种类型的游标打开一个记录集。游标决定了你可以对一个记录集进行什么操作。游标还决定了其他用户可以对一个记录集进行什么样的改变。下面列出了游标的不同类型和限制:   

    

  ■         adOpenFowardOnly。使用前向游标,你只能在记录集中向前移动。   

  ■         adOpenKeyset。使用Keyset游标,你可以在记录集中向前或向后移动。如果另一个用户删除或改变了一条记录,记录集中将反映这个变化。但是,如果另一个用户添加了一条新记录,新记录不会出现在记录集中。   

  ■         adOpenDynamic。使用动态游标,你可以在记录集中向前或向后移动。其他用户造成的记录的任何变化都将在记录集中有所反映。   

  ■         adOpenStatic。使用静态游标,你可以在记录集中向前或向后移动。但是,静态游标不会对其他用户造成的记录变化有所反映。   

    

          在缺省情况下,当你打开一个记录集时,将用前向游标打开它。这意味着你只能用MoveNext方法在记录集中向前移动。对记录集的其它操作将不受支持。   

  前向游标的好处是它比较快。无论何时,如果前向游标可以实现你的要求,你就应该使用前向游标。但是,如果你需要用功能更强的游标打开记录集,你可以使用如下的脚本:   

    

  <!--#INCLUDE   VIRTUAL=”ADOVBS.inc”-->   

  <%   

  Set   MyConn=Sever.CreateObject(“ADODB.Connection”)   

  Set   RS=Sever.CreateObject(“ADODB.RecordSet”)   

  MyConn.Open   “FILEDSN=d:/Program   Files/   

                                            Common   Files/ODBC/Data   Sources/MyData.dsn   

  RS.Open   “SELECT   *   FROM   Mytable”,MyConn,adOpenDynamic   

  RS.Close   

  MyConn.Close   

  %>   

    

  要用一种特定的游标打开记录集,你必须显式地创建这个记录集。然后用该游标类型打开它。要做到这一点,你首先要创建记录集对象的一个实例。接下来,你要用Open方法,通过一个连接和一种游标类型,打开这个记录集。在这段脚本中,用连接对象MyConn和一个动态游标打开了记录集RS。   

  打开记录集时,你也可以指定锁定类型。锁定类型决定了当不止一个用户同时试图改变一个记录时,数据库应如何处理。你可以指定下面的四种锁定类型:   

    

  ■         adLockReadOnly。指定你不能修改记录集中的记录。   

  ■         adLockPessimistic。指定在编辑一个记录时,立即锁定它。   

  ■         adLockOptimstic。指定只有调用记录集的Update方法时,才锁定记录。   

  ■         adLockBatchOptimstic。指定记录只能成批地更新。   

    

  在缺省情况下,记录集使用只读锁定。要指定不同的锁定类型,你可以在打开记录集时包含这些锁定常量之一。这里有一个例子:   

    

  <!--#INCLUDE   VIRTUAL=”ADOVBS.inc”-->   

  <%   

  Set   MyConn=Sever.CreateObject(“ADODB.Connection”)   

  Set   RS=Sever.CreateObject(“ADODB.RecordSet”)   

  MyConn.Open   “FILEDSN=d:/Program   Files/   

                                            Common   Files/ODBC/Data   Sources/MyData.dsn   

  RS.Open   “SELECT   *   FROM   Mytable”,MyConn,adOpenDynamic,adLockPessimistic   

  RS.Close   

  MyConn.Close   

  %>   

    

  这个脚本与上一个基本相同,只是增加了锁定类型。当打开记录集RS时,将使用adLockPessimistic锁定。这意味着这个记录集中的记录可以被修改。(下一集中将讨论如何修改)   

  最后,打开一个记录集时,你可以指定一个Options参数。Options参数标明用来打开记录集的命令字符串的类型。告诉ADO被执行的字符串内容的有关信息有助于高效地执行该命令字符串。   

  你可以使用下面的常量作为Options参数:   

    

  ■         adCMDTable。被执行的字符串包含一个表的名字。   

  ■         adCMDText。被执行的字符串包含一个命令文本。   

  ■         adCMDStoredProc。被执行的字符串包含一个存储过程名。   

  ■         adCMDUnknown。不指定字符串的内容。(这是缺省值。)   

    

  在下面的脚本中,Options参数用来告诉ADO,命令字符串的内容是命令文本:   

    

          <!--#INCLUDE   VIRTUAL=”ADOVBS.inc”-->   

  <%   

  Set   MyConn=Sever.CreateObject(“ADODB.Connection”)   

  Set   RS=Sever.CreateObject(“ADODB.RecordSet”)   

  MyConn.Open   “FILEDSN=d:/Program   Files/   

                                            Common   Files/ODBC/Data   Sources/MyData.dsn   

  RS.Open   “SELECT   *   FROM   Mytable”,MyConn,adOpenDynamic,adCMDText   

  RS.Close   

  MyConn.Close   

  %>   

======================================================================

RS.OPEN   SQL,CONN,A,B     

  参数A为设定游标的类型,其取值为:   

  0             仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark   

  1             键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark   

  2             动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。   

  3             静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动   

    

    

  参数B为记录集的锁定类型,其取值为:   

  1             锁定类型,默认的,只读,不能作任何修改   

  2             当编辑时立即锁定记录,最安全的方式   

  3             只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等   

  4             当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: