请教下, ASP更新数据UPDATE时 WHERE语句的用法是怎么样的 ?

</script><%ifrequest("submit")="修改"thenconn.execute"updateupdatedisksetdp001='"&reque... </script>
<%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 id=1 "

end if
%>

这上面是我的代码 运行不报错 但是数据更新不进去 哪里出了错 顺便问下 WHERE ID(字段)=1 1是特定的数字 我写的规范吗
不规范 那么 数字 字符 变量 的所有规范又是怎么样的?
展开
 我来答
mngenius
2007-01-20 · TA获得超过3165个赞
知道大有可为答主
回答量:2192
采纳率:0%
帮助的人:0
展开全部
改为
<%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
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
benlao1981
2007-01-20 · TA获得超过291个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:380万
展开全部
<%if request("submit")="修改" then

sql="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 id=1 "
Response.write(sql)
end if
%>

看是否打印出sql字符串,不答应说明没有执行!
否则把打印的代码拿到查询分析器执行一下看看

另:更新字段多,建议用 rs.update
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hellocookie
2007-01-20 · TA获得超过306个赞
知道小有建树答主
回答量:237
采纳率:75%
帮助的人:165万
展开全部
数字没有'' 如果这样不行的话可以用

Set rs=server.Createobject("adodb.recordset")
sql="Select * [table] where 字段=1"
rs.open sql,conn,1,3

rs("字段")="数值"
....
rs.update
rs.close
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
楚昂熙xE
推荐于2020-12-12 · TA获得超过2624个赞
知道小有建树答主
回答量:1478
采纳率:40%
帮助的人:946万
展开全部
asp更新数据库时,可以用以下方式(我常用的,还有其他的方式):
一、用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还不能添加特殊字符,比如上面说的单引号等。。。)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式