一、用recordset记录集的方式。
rs.open
"select
*
from
tablename
where
id="&request("id"),conn,1,3
rs("a")=request("a")
rs("b")=request("b")
rs.update
rs.close
用这种方式进行数据更新,有个好处就是当要更新的数据量非常大时,也可以很顺利的更新成功(比如备注型字段的数据,中间还包含了换行等等的)
二、用sql的update语句:
conn.execute("update
tablename
set
a='"&request("a")&"',b='"&request("b")&"',c="&request("c")&"
where
id="&request("id"))
用上面的方法更新数据时,如果是SQL数据库,而你要更新的数据内容里含有比如单引号['],双横线[--]之类的特殊字符,就会更新不成功的,因为这时候SQL会认为是非法字符,而把你的单引号给去掉的。而且当如果更新的是备注型字段,里面包含了换行等字符,也会显得很乱。但用这种方法更新,速度比用recordset的速度要快很多,因为毕竟这是直接更新数据库,而recordset是对update的封装形式。
其实更新数据库,非常简单,如果你对字符串连接的单引号,双引号,&号的使用觉得很混乱,那就用recordset的方式进行,这样会很清晰,一点都不会有混乱的感觉的。而如果你能熟练的使用单引号,双引号,&号,那么你用update语句更新数据库,就大在的提交了速度(当然如果数据量小,我建议用recordset记录集的方式,因为这种方式一个字段对应一个值,一行一个,这样下来,很清晰,还可以对每行做个备注,以后改起来也方便。而用update的方式,所有的值和记录全部连在一块,老长的一串,看得人头都发麻,而且update还不能添加特殊字符,比如上面说的单引号等。。。)
改为<%if request("submit")="修改" then
conn.execute "update updatedisk set dp001='"&request("dp001")&"',dp002='"&request("dp002")&"',lxj001='"&request("lxj001")&"',xilie1gt='"&request("xilie1gt")&"',xilie2guowai='"&request("xilie2guowai")&"',hanri='"&request("hanri")&"',oumei='"&request("oumei")&"',dvdlxj='"&request("dvdlxj")&"',dongmanlxj='"&request("dongmanlxj")&"',lxj002='"&request("lxj002")&"',gtdl='"&request("gtdl")&"',mtv='"&request("mtv")&"',updatedate='"&request("updatedate")&"'where 1=1 "
end if
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)