主题:  为什么不能修改?老大请进(在线请教)

sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#12003/9/29 15:51:12
<%id=request.QueryString("ID")%>

<%
topic=request.form("topic")
title=request.form("title")
content=request.form("content")
author=request.form("author")
userip=request.form("userip")

strsql="UPDATE free SET topic='"&topic&"',title='"&title&"',content='"&content&"',author='"&author&"',userip='"&userip&"' WHERE id=VAL('"&id&"')"
rs.open strsql,conn
%>


数据库是assess的,里面的id是自动 编号,是否是 id=VAL('"&id&"')有问题?
如果改成 id=('"&id&"')系统报错就这句语句,VAL是字符转换成数字型,因为id是数字型,虽然没有报错,但是数据库记录没有改变。

编辑历史:[这消息被sunslee编辑过(编辑时间2003-09-29 15:53:38)]


缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#22003/9/29 15:59:46
id="&id



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#32003/9/29 16:03:30
为什么这样写那?
id是字符型
asp里面引用字符串变量不是应该'"&id&"'吗
id="&id是什么东东?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42003/9/29 16:05:07
id是自动编号怎么可能是字符型?



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#52003/9/29 16:09:55
是啊,数据库里面的id不是字符,数值
但是在页面之间传输的id是字符型是吧,所以我用了VAL()把字符串转换成数字,请问您的写法id="&id中的id是什么类型?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#62003/9/29 16:22:12
不需要转换了
如果你要转换,也是用Cint,那也不需要引号的:
id="&Cint(id)

val函数?没有听过,而且你的函数的使用方法也不正确



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#72003/9/29 16:43:24
那为什么不转换却报错strsql这句,加了却没有报错,只是不能更新。奇怪吧。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#82003/9/29 16:48:33
id=('"&id&"')
你这样写不错才怪



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#92003/9/29 16:52:28
id=('"&id&"')
是肯定错了,
老哥请问request.quertstring返回的是什么类型的数据?



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#102003/9/29 20:46:00
老大,能不能帮我看看代码哪里出错了好吧,比较棘手。



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#112003/9/29 21:25:14
奇怪好像还是不对,我用typename看了,是empty类型
那么类型是不是不要改了?请问"&id所表示的什么意思?
我很菜,对不起,刚才把这句话给复制过去还是不行。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#122003/9/29 21:31:51
&是连接符啊,你前面不是写了n多的&么,还不知道什么意思?

或者这样写你理解吧:
strsql="UPDATE free SET topic='"&topic&"',title='"&title&"',content='"&content&"',author='"&author&"',userip='"&userip&"' WHERE id="&id&""

这样还是报同样的错么?


不推荐这样更新记录,否则数据中有引号容易导致sql语句出错



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#132003/9/29 21:43:56
前面已经id=request.QueryString("ID")了



sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#142003/9/30 9:02:32
不好意思,谢谢各位大虾,问题解决了,很简单的,后来我用了lemontree说得TYPENAME查看了一下ID的类型,竟然是EMPTY
呵呵,后来我就查看了上面一页,原来是没有用AAA.ASP?ID="<%=ID%>"
谢谢各位大虾了,呵呵,给我很多帮助了。我会经常关注你们的bbs的。