- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章ASP 游标参数详解(ASP记录集)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
rs.open sql,conn,A,B A: ADOPenforwardonly (=0) 只读,且当前数据记录只能向下移动。 ADOPenkeyset (=1) 只读,当前数据记录可自由移动。 ADOpendynamic (=2) 可读写,当前数据记录可自由移动。 ADOpenstatic (=3) 可读写,当前数据记录可自由移动,可看到新增记录。 B: ADLockreadonly (=1) 缺省锁定类型,记录集是只读的,不能修改记录。 ADLockpessimistic (=2) 悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录,只要编辑一开 始,则立即锁住记录。 ADLockoptimitic (=3) 乐观锁定,直到用Update方法提交更新的记录时才锁定记录。 ADLockbatchoptimistic (=4) 批量乐观锁定,允许修改多个记录,只有调用UPDATE BATCH方法时才锁定记录。 当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这就减少了资源的利用。 可使用 Recordset 对象操作来自提供者的数据。使用 ADO 时,通过 Recordset 对象可对几乎所有数据进行操作。所有 Recordset 对象均使用记录(行)和字段(列)进行构造。由于提供者所支持的功能不同,某些 Recordset 方法或属性有可能无效。 在 ADO 中定义了四种不同的游标类型: 动态游标 ? 用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的 Recordset 中各种类型的移动。如果提供者支持,可使用书签。 键集游标 ? 其行为类似动态游标,不同的只是禁止查看其他用户添加的记录,并禁止访问其他用户删除的记录,其他用户所作的数据更改将依然可见。它始终支持书签,因此允许 Recordset 中各种类型的移动。 静态游标 ? 提供记录集合的静态副本以查找数据或生成报告。它始终支持书签,因此允许 Recordset 中各种类型的移动。其他用户所作的添加、更改或删除将不可见。这是打开客户端 (ADOR) Recordset 对象时唯一允许使用的游标类型。 仅向前游标 ? 除仅允许在记录中向前滚动之外,其行为类似静态游标。这样,当需要在 Recordset 中单程移动时就可提高性能。 在打开 Recordset 之前设置 CursorType 属性来选择游标类型,或使用 Open 方法传递 CursorType 参数。部分提供者不支持所有游标类型。请检查提供者的文档。如果没有指定游标类型,ADO 将默认打开仅向前游标。 如果 CursorLocation 属性被设置为 adUseClient 后打开 Recordset,则在返回的 Recordset 对象中,Field 对象的 UnderlyingValue 属性不可用。对部分提供者(例如 Microsoft ODBC Provider for OLE DB 连同 Microsoft SQL Server),可以通过使用 Open 方法传递连接字符串,根据以前定义的 Connection 对象独立地创建 Recordset 对象。ADO 仍然创建 Connection 对象,但它不将该对象赋给对象变量。不过,如果正在相同的连接上打开多个 Recordset 对象,就应该显式创建和打开 Connection 对象,由此将 Connection 对象赋给对象变量。如果在打开 Recordset 对象时没有使用该对象变量,即使在传递相同连接字符串的情况下,ADO 也将为每个新的 Recordset 创建新的 Connection 对象。 可以创建所需数量的 Recordset 对象。 打开 Recordset 时,当前记录位于第一个记录(如果有),并且 BOF 和 EOF 属性被设置为 False。如果没有记录,BOF 和 EOF 属性设置是 True。 假设提供者支持相关的功能,可以使用 MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法以及 Move 方法,和 AbsolutePosition、AbsolutePage 和 Filter 属性来重新确定当前记录的位置。仅向前 Recordset 对象只支持 MoveNext 方法。当使用 Move 方法访问每个记录(或枚举 Recordset)时,可使用 BOF 和 EOF 属性查看是否移动已经超过了 Recordset 的开始或结尾。 Recordset 对象可支持两类更新:立即更新和批更新。使用立即更新,一旦调用 Update 方法,对数据的所有更改将被立即写入基本数据源。也可以使用 AddNew 和 Update 方法将值的数组作为参数传递,同时更新记录的若干字段。 如果提供者支持批更新,可以使提供者将多个记录的更改存入缓存,然后使用 UpdateBatch 方法在单个调用中将它们传送给数据库。这种情况应用于使用 AddNew、Update 和 Delete 方法所做的更改。调用 UpdateBatch 方法后,可以使用 Status 属性检查任何数据冲突并加以解决。 注意 要执行不使用 Command 对象的查询,应将查询字符串传递给 Recordset 对象的 Open 方法。但是,在想要保持命令文本并重复执行或使用查询参数时,仍然需要 Command 对象。 AddNew 创建可更新的 Recordset 对象的新记录。 Append 将对象追加到集合中。如果集合是 Fields,可以先创建新的 Field 对象然后再将其追加到集合中。 AppendChunk 将数据追加到大型文本、二进制数据 Field 或 Parameter 对象。 BeginTrans、CommitTrans 和 RollbackTrans 按如下方式管理 Connection 对象中的事务进程: BeginTrans ? 开始新事务。 CommitTrans ? 保存任何更改并结束当前事务。它也可能启动新事务。 RollbackTrans ? 取消当前事务中所作的任何更改并结束事务。它也可能启动新事务。 Cancel 取消执行挂起的、异步 Execute 或 Open 方法调用。 Cancel (RDS) 取消当前运行的异步执行或获取。 CancelBatch 取消挂起的批更新。 CancelUpdate 取消在调用 Update 方法前对当前记录或新记录所作的任何更改。 CancelUpdate (RDS) 放弃与指定 Recordset 对象关联的所有挂起更改,从而恢复上一次调用 Refresh 方法之后的值。 Clear 删除集合中的所有对象。 Clone 创建与现有 Recordset 对象相同的复制 Recordset 对象。可选择指定该副本为只读。 Close 关闭打开的对象及任何相关对象。 CompareBookmarks 比较两个书签并返回它们相差值的说明。 ConvertToString 将 Recordset 转换为代表记录集数据的 MIME 字符串。 CreateObject (RDS) 创建目标业务对象的代理并返回指向它的指针。 CreateParameter 使用指定属性创建新的 Parameter 对象。 CreateRecordset (RDS) 创建未连接的空 Recordset。 Delete (ADO Parameters Collection) 从 Parameters 集合中删除对象。 Delete (ADO Fields Collection) 从 Fields 集合删除对象。 Delete (ADO Recordset) 删除当前记录或记录组。 Execute (ADO Command) 执行在 CommandText 属性中指定的查询、SQL 语句或存储过程。 Execute (ADO Connection) 执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。 Find 搜索 Recordset 中满足指定标准的记录。 GetChunk 返回大型文本或二进制数据 Field 对象的全部或部分内容。 GetRows 将 Recordset 对象的多个记录恢复到数组中。 GetString 将 Recordset 按字符串返回。 Item 根据名称或序号返回集合的特定成员。 Move 移动 Recordset 对象中当前记录的位置。 MoveFirst、MoveLast、MoveNext 和 MovePrevious 移动到指定 Recordset 对象中的第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。 MoveFirst、MoveLast、MoveNext、MovePrevious (RDS) 移动到显示的 Recordset 中的第一个、最后一个、下一个或前一个记录。 NextRecordset 清除当前 Recordset 对象并通过提前命令序列返回下一个记录集。 Open (ADO Connection) 打开到数据源的连接。 Open (ADO Recordset) 打开游标。 OpenSchema 从提供者获取数据库模式信息。 Query (RDS) 使用有效的 SQL 查询字符串返回 Recordset。 Refresh 更新集合中的对象以便反映来自提供者的可用对象以及特定于提供者的对象。 Refresh (RDS) 对在 Connect 属性中指定的 ODBC 数据源进行再查询并更新查询结果。 Requery 通过重新执行对象所基于的查询,更新 Recordset 对象中的数据。 Reset (RDS) 根据指定的排序和筛选属性对客户端 Recordset 执行排序或筛选操作。 Resync 从基本数据库刷新当前 Recordset 对象中的数据。 Save (ADO Recordset) 将 Recordset 保存(持久)在文件中。 Seek 搜索 Recordset 的索引以便快速定位与指定值相匹配的行,并将当前行的位置更改为该行。 SubmitChanges (RDS) 将本地缓存的可更新 Recordset 的挂起更改提交到在 Connect 属性中指定的 ODBC 数据源中。 Supports 确定指定的 Recordset 对象是否支持特定类型的功能。 Update 保存对 Recordset 对象的当前记录所做的所有更改。 UpdateBatch 将所有挂起的批更新写入磁盘。 给你个比较有代表性的程序吧,估计能有所帮助 <%@ LANGUAGE = VBScript%> <% '------------------------------------------ '昨天晚上编的简单数据库(ACECESS,有id、password、 'register3个字段)操作,仅支持单表单条件操作, '不过好像没什么用:) 'col:待查询字段名(必添) 'colvalue:待更新、添加字段的值(没有用""代替) 'table:表名(必添) 'keyid:查询条件的字段名(没有用""代替,可选) 'keyvalue:查询条件字段的值(没有用""代替,可选) 'col和colvalue必须成对出现 'keyid和keyvalue必须同时出现 '------------------------------------------ %> <% Function DB_execute(col,colvalue,table,keyid,keyvalue,bz) Dim ConnStr,conn,rs,sql ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data/game.mdb") Set conn = Server.CreateObject("ADODB.Connection") conn.open ConnStr set rs=server.createobject("adodb.recordset") for i=0 to UBound(col) step 1 if UBound(col)<>i then sql=sql&col(i)&", " else sql=sql&col(i)&" " end if next if keyid <> "" then sql="select "&sql&"from "&table&" where "&keyid&"='"&keyvalue&"'" else sql="select "&sql&"from "&table end if select case bz case "o" rs.open sql,conn,1,1 dim rsnum rsnum=rs.RecordCount if rsnum > 0 then dim rsArray() redim rsArray(rsnum,UBound(col)) for i=0 to UBound(col) step 1 rsArray(0,i)=col(i) next for i=1 to rsnum step 1 for j=0 to UBound(col) step 1 rsArray(i,j)=rs(col(j)) next next DB_execute=rsArray else DB_execute="没有查到任何数据" end if rs.close set rs=nothing case "u" rs.open sql,conn,3,3 if rs.RecordCount > 0 then for i=0 to UBound(col) step 1 rs(col(i))=colvalue(i) next rs.update else DB_execute="没有查到这条数据" end if rs.close set rs=nothing case "i" rs.open sql,conn,3,3 rs.addnew for i=0 to UBound(col) step 1 rs(col(i))=colvalue(i) next rs.update DB_execute="添加数据成功" rs.close set rs=nothing case "d" sql="delete from "&table&" where "&keyid&"='"&keyvalue&"'" conn.Execute sql DB_execute="删除数据成功" end select conn.close set conn=nothing end Function %> <% '返回记录集 'temp=DB_execute(Array("id","password","register"),"","users","","","o") 'response.write temp(1,2) '添加一条记录 'temp=DB_execute(Array("id","password","register"),Array("test","test","0"),"users","","","i") 'response.write temp '更新一条记录 'temp=DB_execute(Array("id","password","register"),Array("new","new","1"),"users","id","test","u") 'response.write temp '删除一条记录 'temp=DB_execute(Array("id","password","register"),"","users","id","new1","d") 'response.write temp %> 。
最后此篇关于ASP 游标参数详解(ASP记录集)的文章就讲到这里了,如果你想了解更多关于ASP 游标参数详解(ASP记录集)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试使用游标遍历表: DEClARE @ProjectOID as nvarchar (100) DECLARE @TaskOID as nvarchar (100) DECLARE TaskO
使用 JOprionPane 时,光标出现了一些问题。我将光标设置到 pharent 框架,然后使用这个显示一个对话框: Object[] possibilities = {"ham", "spam"
我想将数据从一个表(原始数据,所有列都是 VARCHAR)复制到另一个表(使用相应的列格式进行格式化)。 为了将数据从 rawdata 表复制到 formatted 表中,我使用游标来识别受影响的行。
我先走了 我 100% 属于集合运算阵营。但是当设置逻辑时会发生什么在整个所需的输入域上进行检索会导致如此大的检索,以至于查询显着减慢,变得缓慢,或者基本上需要无限的时间? 在这种情况下,我将使用可能
为什么我不能这样做?我想从 TABLEA 中搜索大于光标值的最接近的值,对两者执行平均函数并将结果放入 test3 中。我收到错误代码 1054 未知列“Xnearest in 'field list
我希望以下存储例程返回一系列行,但它只返回 1: CREATE PROCEDURE example() BEGIN DECLARE current_id INT;
我有一张代表患者体检的表,它有检查 ID 和患者 ID。 我想逐行浏览表格并获取每个患者 ID 并比较其不同的咨询,看看它是否被视为“new_attack”。我正在处理疟疾疾病,我们认为每个在过去 6
如文档所述here ,我需要声明一个在打开时接受参数的游标。 我的查询类似于: DECLARE cur CURSOR (argName character varying) FOR SELECT *
我正在尝试使用 PostgreSQL 学习基本游标。这是我的脚本: DECLARE cur_employees CURSOR FOR SELECT * FROM employee CLOS
*DELIMITER // create procedure test(OUT l_out INT) begin DECLARE done INT DEFAULT FALSE; declare l_s
来自 psycopg2 文档: When a database query is executed, the Psycopg cursor usually fetches all the record
我正在使用 while 循环遍历游标,然后输出数据库中每个点的经度和纬度值。 出于某种原因,它没有返回光标中的最后一组(或第一个取决于我是否使用 Cursor.MoveToLast)经度和纬度值。 这
不知道有没有人试过全新的PHPStorm 4 , 但我遇到了这个新版本的问题,而我以前的主要版本 (PHPStorm 3) 没有。 基本上,当我单击代码 View 空白处的任意位置时,光标会设置在该位
mysql的存储过程、游标 、事务实例详解 下面是自己曾经编写过的mysql数据库存储过程,留作存档,以后用到的时候拿来参考。 其中,涉及到了存储过程、游标(双层循环)、事务。 【说明】:代码
Mysql的存储过程是从版本5才开始支持的,所以目前一般使用的都可以用到存储过程。今天分享下自己对于Mysql存储过程的认识与了解。 一些简单的调用以及语法规则这里就不在赘述,网上有许多例子。这里
我正在使用 SQL Server,我有一个包含 3 列(时间序列)的表 data ,带日期,hour开始,AwardStatus . 大部分奖励状态是随机生成的。有两种选择,授予或未授予。 但是,业务
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
Why am getting duplicate records ? pls correct me.Thanks in Advance. declare clazzes_rec clazzes%r
Why am getting duplicate records ? pls correct me.Thanks in Advance. declare clazzes_rec clazzes%r
我需要在数据表中设置一个非唯一标识符。这在组内是连续的,即。对于每个组,ID 应从 1 开始,并以 1 为增量递增,直到该组的最后一行。 下表对此进行了说明。 “新 ID”是我需要填充的列。 Uniq
我是一名优秀的程序员,十分优秀!