记录集游标和锁定类型
2013-03-29 16:03
176 查看
http://club.topsage.com/thread-119484-1-1.html
你可以用四种类型的游标打开一个记录集。游标决定了你可以对一个记录集进行什么操作。游标还决定了其他用户可以对一个记录集进行什么样的改变。下面列出了游标的不同类型和限制:
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
%>
<%
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
%>
你可以用四种类型的游标打开一个记录集。游标决定了你可以对一个记录集进行什么操作。游标还决定了其他用户可以对一个记录集进行什么样的改变。下面列出了游标的不同类型和限制:
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
%>
<%
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
%>
相关文章推荐
- JDBC -记录集-不支持此游标类型/并发组合
- asp(非asp.net)程序访问access数据库,无法写入、修改,提示错误:当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。
- 当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制
- ASP中Recordset对象的游标与锁定类型参数介绍
- (2)提示错误:当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。
- ADODB.Recordset (0x800A0CB3)当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。
- JDBC -记录集-不支持此游标类型/并发组合 (补充)
- ADO 游标类型 游标位置 锁定方法
- 连接SQLserver2005:JDBC -记录集-不支持此游标类型/并发组合
- Asp 游标和锁定类型
- com.microsoft.sqlserver.jdbc.SQLServerException: 不支持此游标类型/并发组合
- 采用命令对象_CommandPtr执行Execute 的游标默认为forwordonly 得不到记录集个数
- 切勿锁定类型对象!
- PLSQL条件语句完成员工加薪功能(记录类型+游标case when+if+for update+where current of)
- "Microsoft Office Access 不能在追加查询中追加所有记录。 Microsoft Office Access设置1字段为Null是因为类型转换失败,它未将0记录添加到表是因为键值冲突,没有添加0记录是因为锁定冲突,没有添加0记录是因为
- 游标类型产生的数据检索问题
- [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(6)自适应变量,记录型类型,游标
- 选择合适的游标类型
- 统说ado对象游标类型(Connection,RecordSet)以及显示数据记录的三板斧
- 选择合适的游标类型