asp+access中的rs.open sql,sconn,1,1 的疑惑!求助!!
如题,看到好多书和教程都在连接数据库后使用recordset参数。例子:setsconn=server.CreateObject("adodb.connection")S...
如题,看到好多书和教程都在连接数据库后使用recordset参数。
例子:
set sconn=server.CreateObject("adodb.connection")
Spath=server.MapPath("data.mdb")
sconn.open "driver={microsoft access driver (*.mdb)};dbq="&Spath
Ssql="select * from new"
set rs=server.CreateObject("adodb.recordset")
rs.open Ssql,sconn,2,2 《---》就是这里
我总是被最后面的数字参数迷惑!
看到过1,3 和2,2 或者3,3..等等,什么数字都有。
数字的意义我知道,但是我不想记,
到底应该怎样使用呢?
谁帮帮忙干脆告诉我,不是要你把数字的意思告诉我,而是
如果仅仅是使用rs.update插入更新数据库,应该使用什么数字参数,
如果是删除数据操作,应该使用什么数字参数,
如果是仅仅是把数据里的内容读取出来,应该使用那些数字参数,
还有别的操作,你们一般是怎样分配参数的?这个最重要!
求求你们了!帮帮忙告诉我吧,分不够再送!
楼下的,我的书上有参数解释,我需要的是你们一般是如何使用的。如何删除,更新或者读取数据库时,一般是怎样设置数字的。谢谢!
二楼的,
sql="insert into table(字段) values(值)"
conn.execute(sql)
sql="update table set 字段=值"
conn.execute(sql)
我不清楚conn.execute(sql) 和rs.open 是不是一样的?
还有command这个对象,它们三个有什么区别?
分不够送分!
先谢谢三楼的,我看看还有没有别的不同的意见。
希望知道的人多说说呀,谢谢四楼的。 展开
例子:
set sconn=server.CreateObject("adodb.connection")
Spath=server.MapPath("data.mdb")
sconn.open "driver={microsoft access driver (*.mdb)};dbq="&Spath
Ssql="select * from new"
set rs=server.CreateObject("adodb.recordset")
rs.open Ssql,sconn,2,2 《---》就是这里
我总是被最后面的数字参数迷惑!
看到过1,3 和2,2 或者3,3..等等,什么数字都有。
数字的意义我知道,但是我不想记,
到底应该怎样使用呢?
谁帮帮忙干脆告诉我,不是要你把数字的意思告诉我,而是
如果仅仅是使用rs.update插入更新数据库,应该使用什么数字参数,
如果是删除数据操作,应该使用什么数字参数,
如果是仅仅是把数据里的内容读取出来,应该使用那些数字参数,
还有别的操作,你们一般是怎样分配参数的?这个最重要!
求求你们了!帮帮忙告诉我吧,分不够再送!
楼下的,我的书上有参数解释,我需要的是你们一般是如何使用的。如何删除,更新或者读取数据库时,一般是怎样设置数字的。谢谢!
二楼的,
sql="insert into table(字段) values(值)"
conn.execute(sql)
sql="update table set 字段=值"
conn.execute(sql)
我不清楚conn.execute(sql) 和rs.open 是不是一样的?
还有command这个对象,它们三个有什么区别?
分不够送分!
先谢谢三楼的,我看看还有没有别的不同的意见。
希望知道的人多说说呀,谢谢四楼的。 展开
6个回答
展开全部
'// CursorTypeEnum
Private Const adOpenForwardOnly = 0
Private Const adOpenKeyset = 1
Private Const adOpenDynamic = 2
Private Const adOpenStatic = 3
'// LockTypeEnum
Private Const adLockReadOnly = 1
Private Const adLockPessimistic = 2
Private Const adLockOptimistic = 3
Private Const adLockBatchOptimistic = 4
它默认不加参数时为只读,可写有很多种组合,1,3 为最常用的只读组合,修改一般采用 4,3或3,3。
以下为MSDN里内容
LockType
adLockReadOnly 默认值,只读。无法更改数据。
adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。
adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。
adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。
设置或返回以下某个 CursorTypeEnum 值。
AdOpenForwardOnly 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。
AdOpenKeyset 键集游标。尽管从您的记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似。仍然可以看见其他用户更改的数据。
AdOpenDynamic 动态游标。可以看见其他用户所作的添加、更改和删除。允许在记录集中进行所有类型的移动,但不包括提供者不支持的书签操作。
AdOpenStatic 静态游标。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。
rs.Open sql,conn,1,1本文中大量使用的方式。无法看到其他用户添加的新数据,但被其他用户删除的数据将变为不可访问,同时可以看到其他用户所作的修改。
rs.Open sql,conn,1,3静态打开方式。在你使用数据是其他用户无法访问该数据
rs.Open sql,conn,1,2动态的数据库打开方式,其他用户所进行的修改、删除和新建等工作都会立即在数据对象中体现出来,并且支持全部类型的数据移动方式,除非提供者不支持,否则也可以进行书签操作
rs.Open sql,conn,-1不指定打开方式
Private Const adOpenForwardOnly = 0
Private Const adOpenKeyset = 1
Private Const adOpenDynamic = 2
Private Const adOpenStatic = 3
'// LockTypeEnum
Private Const adLockReadOnly = 1
Private Const adLockPessimistic = 2
Private Const adLockOptimistic = 3
Private Const adLockBatchOptimistic = 4
它默认不加参数时为只读,可写有很多种组合,1,3 为最常用的只读组合,修改一般采用 4,3或3,3。
以下为MSDN里内容
LockType
adLockReadOnly 默认值,只读。无法更改数据。
adLockPessimistic 保守式记录锁定(逐条)。提供者执行必要的操作确保成功编辑记录,通常采用编辑时立即锁定数据源的记录的方式。
adLockOptimistic 开放式记录锁定(逐条)。提供者使用开放式锁定,只在调用 Update 方法时锁定记录。
adLockBatchOptimistic 开放式批更新。用于与立即更新模式相反的批更新模式。
设置或返回以下某个 CursorTypeEnum 值。
AdOpenForwardOnly 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。
AdOpenKeyset 键集游标。尽管从您的记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似。仍然可以看见其他用户更改的数据。
AdOpenDynamic 动态游标。可以看见其他用户所作的添加、更改和删除。允许在记录集中进行所有类型的移动,但不包括提供者不支持的书签操作。
AdOpenStatic 静态游标。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。
rs.Open sql,conn,1,1本文中大量使用的方式。无法看到其他用户添加的新数据,但被其他用户删除的数据将变为不可访问,同时可以看到其他用户所作的修改。
rs.Open sql,conn,1,3静态打开方式。在你使用数据是其他用户无法访问该数据
rs.Open sql,conn,1,2动态的数据库打开方式,其他用户所进行的修改、删除和新建等工作都会立即在数据对象中体现出来,并且支持全部类型的数据移动方式,除非提供者不支持,否则也可以进行书签操作
rs.Open sql,conn,-1不指定打开方式
展开全部
RS.OPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENSTATIC(=3) 只读,当前数据记录可自由移动
ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录
B: ADLOCKREADONLY(=1) 默认值,用来打开只读记录
ADLOCKPESSIMISTIC(=2) 悲观锁定
ADLOCKOPTIMISTIC(=3) 乐观锁定
ADLOCKBATCHOPTIMISTIC(=4) 批次乐观锁定
PS:
乐观锁定:完全依靠数据库来管理锁的工作。
悲观锁定:应用程序自己管理数据或对象上的锁处理
A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENSTATIC(=3) 只读,当前数据记录可自由移动
ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录
B: ADLOCKREADONLY(=1) 默认值,用来打开只读记录
ADLOCKPESSIMISTIC(=2) 悲观锁定
ADLOCKOPTIMISTIC(=3) 乐观锁定
ADLOCKBATCHOPTIMISTIC(=4) 批次乐观锁定
PS:
乐观锁定:完全依靠数据库来管理锁的工作。
悲观锁定:应用程序自己管理数据或对象上的锁处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql="select * from users"
读
rs.open sql,1,1
改:
rs.open sql,1,3
删:
一般是用:conn.execute("delete * from users where id="&request("id"))
或rs.open sql,1,3
rs.delete
读
rs.open sql,1,1
改:
rs.open sql,1,3
删:
一般是用:conn.execute("delete * from users where id="&request("id"))
或rs.open sql,1,3
rs.delete
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要用这种方式来做的话还是要好好记一下各个数字都是什么意思才行。
或者你用下面的方式来做:
先连接数据库,然后
sql="insert into table(字段) values(值)"
conn.execute(sql)
sql="update table set 字段=值"
conn.execute(sql)
......
或者你用下面的方式来做:
先连接数据库,然后
sql="insert into table(字段) values(值)"
conn.execute(sql)
sql="update table set 字段=值"
conn.execute(sql)
......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们常用的是1,1 和1,3
1,1是读的时候用
1,3是写和改的时候用
1,1是读的时候用
1,3是写和改的时候用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
游标啊,是可读可写,可删可改的设置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询