update不能逐个更改某个字段的值?

for123 2000-06-15 01:03:00
num=1
while not rs.eof
sql="update feizhou set id= " & num
conn.execute sql
rs.movenext
num=num+1
wend
上例中,我想把每个记录的id字段值逐个设置为1,2,3,...但是结果总是所有记录的字段值都为一个定值,问题出在sql="update feizhou set id= " & num这一句上,这一句只能成批地更改所有记录的id值为某个值,如何达到更改每个记录的id字段值为1,2,3,4,5.....

...全文
514 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
beta 2000-06-15
  • 打赏
  • 举报
回复
可以实现!
是不是你的rs的属性设置不对呢?


<% @Language =Vbscript %>

<%
Option Explicit
Response.Expires=0
%>

<!--#Include File="Adovbs.Inc"-->

<%
Const St_Connection="provider=sqloledb; user id=sa;password= ; initial catalog=db; data source=webserver"
Dim O_Conn,o_rs,St_Query
Dim int_num

Set O_Conn=Server.Createobject("Adodb.Connection")
O_Conn.Open St_Connection
Set o_rs=Server.Createobject("Adodb.Recordset")
o_rs.Cursorlocation=Aduseserver
o_rs.Cursortype=Adopenkeyset
o_rs.Locktype=Adlockoptimistic

St_Query="Select * From zzz1"
Set o_rs.Activeconnection=O_Conn
o_rs.Open St_Query

int_num=1
o_rs.movefirst
while not o_rs.eof
o_rs("log_id")=int_num
o_rs.movenext
int_num=int_num+1
wend
o_rs.movefirst
o_rs.update

o_rs.close
o_conn.close
set o_rs=nothing
set o_conn=nothing
%>
for123 2000-06-15
  • 打赏
  • 举报
回复
我的id 是数字型的。
你用这种方法试过没有?有没有成功更改的经历?
beta 2000-06-15
  • 打赏
  • 举报
回复
是吗?
你的ID字段是不是定义成了identity?取消试试呢?
for123 2000-06-15
  • 打赏
  • 举报
回复
beta,
你 的程序运行也一样不行!!!
ADODB.Field error '800a0cb3'

The operation requested by the application is not supported by the provider.


beta 2000-06-15
  • 打赏
  • 举报
回复
嘻嘻,应该是:
num=1
rs.movefirst
while not rs.eof
rs("id")=num
rs.movenext
num=num+1
wend
rs.update

不过,我觉得这样的工作应该用存储过程来完成。^_^
for123 2000-06-15
  • 打赏
  • 举报
回复
显示:
ADODB.Recordset error '800a0cb3'

The operation requested by the application is not supported by the provider.
for123 2000-06-15
  • 打赏
  • 举报
回复
bamyl:
没有这样的用法吧?有吗?我没有见过?,试了一下,也不行?
bamyl 2000-06-15
  • 打赏
  • 举报
回复
why?

你只要找出循环规律,然后用 rs.update 字段名,值 改变不行吗?
for123 2000-06-15
  • 打赏
  • 举报
回复
总之,如果要对一个表中的所有记录进行一个有规律的设置和更改就实现不了吗?只能是一个成批定值设置?我认为不应该是这样的,至少各位都没有找到实现的办法
bamyl 2000-06-15
  • 打赏
  • 举报
回复
手误
rs.update id , num

修改字段id的值为num
for123 2000-06-15
  • 打赏
  • 举报
回复
rs.update feizhou , num
这是什么意思呢?我要针对的是id字段值,这里根本就不考虑修改的是哪个字段?

bamyl 2000-06-15
  • 打赏
  • 举报
回复
num=1
while not rs.eof
rs.update feizhou , num
rs.movenext
num=num+1
wend
for123 2000-06-15
  • 打赏
  • 举报
回复
where id=当前值 这里当前值我也不可能每个记下来呀,用什么巧妙办法处理这里的当前值?
for123 2000-06-15
  • 打赏
  • 举报
回复
pivot的使用field进行修改如何实现,我想问问用程序能达到我的目的吗?
谁有办法用asp程序实现.where id=...这句话在这里如何派上用场,我正是想修改id的值,update id=..where id=?
jun 2000-06-15
  • 打赏
  • 举报
回复
sql语句的修改是对整个数据库进行操作,如果要指定某一条记录必须加上
where....
有一个简单的方法可以达到你的要求,新建一个id字段,将他设为自动增加的那种(在sql7.0中为识别),数据库会自动的将该字段的值设为1、2、3、。。。。设好以后如果你不想要它自动增加就将该字段的 type改为其他的,如数字等。
stellaxyq 2000-06-15
  • 打赏
  • 举报
回复
SQL不是对单个记录操作的,他是对整个关系操作的,这是SQL最基本的概念。要修改的话,只有每一句都加上条件,这样会比较复杂,如果在网页上做,很毫时间的。
我不知道你为什么要改ID值 ,如果你的ID是主健的话,一般是不修改的,一定要改的话可以在数据库中直接改,而不是在这里改
pivot 2000-06-15
  • 打赏
  • 举报
回复
使用ADORecordset利用Field进行修改,然后Update。
或者在此处纪录当前ID值,然后加上'Where ID = '当前值

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧