asp数据提交后的处理问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:31:29
我要完成的功能是删除数据库中的一条记录.
表单提交后在处理页中能得到传递的参数,
<a href="dell.asp?id=<%=rs("客户id")%>" onClick="return confirm('是否确定删除本留言?');">[删除]</a>
这是删除时传递”客户id”的语句,数据库中”客户id”字段为自动编号,测试输出”客户id”参数正确,但在数据库中找不到这条记录,
数据库连接成功后,(已测连接是成功的)
查找这条记录时的语句为:if Request.QueryString("id")=rs("客户ID") then……
比较语句一直没有成功的时候,也就是找不到这条记录,手动查时,数据库中有这一条记录,不知道问题出在哪了,是数据类型的问题吗?
怎么解决,求大哥大姐们帮帮忙,先谢谢了。

数据类型的问题,也算是ASP的小缺点:
将两个数据都强制转换为整形数据 用:
if cint(Request.QueryString("id"))=cint(rs("客户ID")) then……

本来ASP是部分数据类型的,过有些时候,特别是比较的时候就会出错,强制转换下就好了。

你的”客户ID”并不是你的”留言ID”啊...
一个客户可以留很多言了,每一条言你应该加个ID这样就可以找到对应的要删除的留言ID了...因为你要删除的留言并非你的客户的资料.

SQL应该是查询出当前应该删除的留言的ID并不是你说的客户ID了.
个人从你所说的字面理解的,不知道你是否这样做的.
还有就是数据类型的问题了,强制转换Cint.

你上面怎么写的?如果我写的话dell.asp里直接先返回id
delid=Request.QueryString("id")
if (delid<>"") then
然后直接用select 选出该id的数据
判断rs.bof eof如果没有数据话返回失败 否则执行删除操作 这样分布的写就能知道问题在哪了
else
........
end if

if Request.QueryString("id")=rs("客户ID") then……
换成
if rs("客户ID")=Request.QueryString("id") then
你弄反了