ASP 批量修改指定字段值位新字段值

来源:百度知道 编辑:UC知道 时间:2024/07/08 12:31:45
数据库CLASS,批量修改字段CLASSID(字符型)中值为OLD(变量)的记录为新值NEW(变量),这个代码怎么写呢?初学ASP,一点不懂,胡乱写了下面代码发现不对,请高手指教,谢谢...
set rs=server.createobject("adodb.recordset")
sql="select * from class where classid="&old
rs.open sql,conn,1,3
rs("classid") = new
rs.update
rs.close
set rs=Nothing
以下代码测试OK,但是这个是用循环解决的...
不知为什么原代码加上where classid="&old 就出错...
期待更有效的代码...

set rs=server.createobject("adodb.recordset")
sql="select * from class "
rs.open sql,conn,1,3
do while not rs.eof
If rs("class") = old then
rs("class") = new
rs.update
End if
rs.movenext
loop
rs.close
set rs=Nothing

sql="update class set classid = 'new' where classid = 'old'"
conn.execute(sql)

建议这样
set rs=server.createobject("adodb.recordset")
sql="select class from Material"
rs.open sql,conn,1,3
while not rs.eof
If rs("class") = oldclsnb then
rs("class") = newclsnb
rs.update
End if
rs.movenext
wend
rs.close
set rs=Nothing

因为 do while 会先执行一遍循环内的语句再判断条件,可能会出错,而直接用 while 语句的话,就会先判断条件再执行循环内的语句

不知为什么原代码加上where classid="&old 就出错...
期待更有效的代码...

因为 old 参数内可能含有冲突的字符,如 " 或者 '