rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,conn,3,2区别

经常开发asp但对于细致的说法,真实不太清楚,这里简单的介绍下。

一般情况下

读取数据都是用rs.open sql,conn,1,1

修改数据:rs.open sql,conn,1,3

删除数据:直接要conn.execute("delete * from new where id=1")这样的。

Rs.Open语法如下:rs.Open Source,ActiveConnection,CursorType,LockType

Source为sql语句,ActiveConnection为数据库连接,CursorType是游标,LockType是数据锁定类型.

CursorType

常量 说明

adOpenForwardOnly(值为0) (默认值)打开仅向前类型游标。

adOpenKeyset(值为1) 打开键集类型游标。

adOpenDynamic(值为2) 打开动态类型游标。

adOpenStatic(值为3) 打开静态类型游标。

LockType

常量 说明

adLockReadOnly (值为1) (默认值)只读 — 不能改变数据。

adLockPessimistic(值为2) 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。

adLockOptimistic(值为3) 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用 Update 方法时才锁定记录。

adLockBatchOptimistic(值为4) 开放式批更新 — 用于批更新模式(与立即更新模式相对)。

CursorType

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

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

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

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

LockType

LockType为记录集的锁定类型,其取值为:

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

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

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

4 当编辑时记录不会被锁定,而更改、插入和删

rs.open sql,conn,3,2

这两个是游标,具体的作用是:

RS.OPEN SQL,CONN,A,B

A:

ADOPENFORWARDONLY(=0)

只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1)

只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2)

可读写,当前数据记录可自由移动

ADOPENSTATIC(=3)

可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1)

缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2)

悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3)

乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4)

批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。

对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,

数据在这段时间被更新。这减少了资源的使用。

总结一下:

sql,conn,1,1 代表不允许更新,一般用于查询操作。

sql,conn,1,3 代表允许更新,一般用于插入,更新和删除操作。

时间: 2024-09-16 04:22:25

rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,conn,3,2区别的相关文章

《Oracle PL/SQL程序设计(第5版)》一一1.4 关于PL/SQL的版本

1.4 关于PL/SQL的版本 Oracle PL/SQL程序设计(第5版) 每个版本的Oracle数据库都有其对应的PL/SQL版本.只要我们使用的是最新版的PL/SQL,就会有更多的功能供我们使用.作为PL/SQL程序员的最大挑战就是"紧跟".我们不需要不断地自学每个版本中的新特性─学会使用它们,尤其在我们自己的应用程序中该如何使用,确定有些新技术尤其有用,我们应该利用这些新技术修改已有的应用程序. 表1-1总结了数据库中每一版(过去的和当前的)PL/SQL的主要成员(注意在早期的

《Oracle PL/SQL必知必会》——第2章 初识Oracle和PL/SQL 2.1 什么是Oracle

第2章 初识Oracle和PL/SQL Oracle PL/SQL必知必会 在本章中,你将认识Oracle和PL/SQL是什么,以及你可以使用什么工具来操作它们. 2.1 什么是Oracle 在前一章中,你学习了数据库和SQL.如所解释的那样,做所有工作(存储.检索.管理和操作数据)的实际上是数据库软件(DBMS或数据库管理系统[Database Management System]).Oracle DBMS(或者简称为Oracle)就是一个DBMS:也就是说,它是数据库软件. Oracle已经

编一个应用程序是C#加SQL的,编完后安装这个程序的电脑上必须装SQL并且要建立相应的数据库吗?

问题描述 编一个应用程序是C#加SQL的,编完后安装这个程序的电脑上必须装SQL并且要建立相应的数据库吗? 解决方案 解决方案二:不用,按上MDAC就可以了解决方案三:数据库是SQLSERVER吗?是的话,必须要有一台机安装

sql 语句的查询优化,各位看看可以怎么优化,新人初学,SQL有点复杂,压力山大。。。。。

问题描述 sql 语句的查询优化,各位看看可以怎么优化,新人初学,SQL有点复杂,压力山大..... 如下 项目用的是 mysql 是项目的查询SQL语句, 查询结果为 88 的竟然要1分40秒, 结果为5的要 2秒, SQL语句不是我写的,大家看看有什么地方可以优化的,想要优化查询速度的话,可以从哪方面入手修改. SELECT COUNT(DISTINCT ttsp.id) AS postpone_count, ttp.task_document_id AS task_document_id,

《Oracle PL/SQL程序设计(第5版)》一一第1章 PL/SQL概述

第1章 PL/SQL概述 Oracle PL/SQL程序设计(第5版) 所谓PL/SQL,即"Procedural Language extensions to the Structured Query Language"的首字母缩写.在关系数据库的世界中,SQL语言是无处不在,从数据查询到数据更新.Oracle 公司发明PL/SQL为了克服SQL语言自身的一些局限,并为那些要在Oracle数据库中运行的核心业务,提供一种更完整的变成解决方案.这一章将介绍PL/SQL,包括它的起源.它

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.3 发现SQL Server服务

2.3 发现SQL Server服务 在这个方案中,我们列举所有的SQL Server服务,并列出它们的状态. 2.3.1 准备 检查哪个SQL Server服务安装在你的实例上.打开"Start | Run"并输入"services.msc".你将会看到类似于如下屏幕. 2.3.2 如何做- 让我们确保你在服务器上运行这个脚本. 1.打开"Start | Accessories | Windows PowerShell | Winodws PowerSh

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.6 修改SQL Server实例配置

2.6 修改SQL Server实例配置 本方案讲述如何使用PowerShell修改实例配置设置. 2.6.1 准备 在本方案,你将会: 修改FillFactor到60%启用SQL Server Agent设置最小服务器内存到500MB修改验证方式为Mixed 2.6.2 如何做- 让我们用PowerShell修改一些SQL Server设置. 1.通过"Start | Accessories | Windows PowerShell | Windows PowerShell ISE"

sql server-java :为什么不能将文本框的名字添加进数据库(SQL server 2008)中?

问题描述 java :为什么不能将文本框的名字添加进数据库(SQL server 2008)中? 我想将从文本框中输入的文字添加到数据库当中,控制台显示的是"数据添加成功的提示",但是数据库那边id号虽然自增长了,可Name列中却是空的?为什么? (想贴图但是我新手不知道怎么贴,只能委屈大神看看这没有高亮的代码了...) JPanel GongXiPanel = new JPanel(); // 新建面板保存标签 GongXiPanel.setLayout(new GridLayout

sql语句-表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数

问题描述 表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数 表T(A)包含正整数,可能有重复,构造一个SQL语句查询不在表T中的最小正整数,需要考虑表T包含或不包含正整数1两种情况.不能编程实现.考虑了半天没有很好的思路,请大家指点则个 解决方案 DECLARE @minvalue INT = select min(A) from T IF minvalue > 1 return 1 ELSE DECLARE @maxvalue INT = select max(A

sql service-如何获得LDAP的目录(部门信息),并插入SQL SERVER的部门表中?请贴上相关代码

问题描述 如何获得LDAP的目录(部门信息),并插入SQL SERVER的部门表中?请贴上相关代码 已经连接上了,但是不知道怎么获取里面的数据,比如部门信息和用户信息,都不知道怎么获取,求大神帮帮忙,非常感谢