asp判断sql中重复记录

bychgh 2010-06-17 05:48:13
<%

set rsrs=server.createobject("adodb.recordset")

sqlsum="select count(*) as namesum from Printhr_Company
where company_name="&cint(request.form("company_name"))

rsrs.open sqlsum,conn,1,1

if rsrs("namesum")>0 then
response.write "<script language=""javascript"">alert('已有记录,请修改用户名!');return false;</script>"
end if

%>

根据填入的 company_name,查询数据库是否存在,如果存在,则取消添加数据库操作

请问,上面代码哪儿错了,发现添加重复记录没有判断
...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gingerkang 2010-06-18
  • 打赏
  • 举报
回复
没有response.end
其次,最好不要查count,直接查有没有这条记录就好了,当数据很多的时候,差别还是存在的
  • 打赏
  • 举报
回复
那只是复制你的客户端的代码
只能用response.end
用return false是没办法组织服务端程序往下执行的
bychgh 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chinmo 的回复:]
set rsrs=server.createobject("adodb.recordset")

sqlsum="select top 1 * from Printhr_Company
where company_name='"& request.form("company_name")&"'"
rsrs.open sqlsum,conn,1,1
if not rs.……
[/Quote]

return false 放在里面的时候,会报 return 语句不再函数中的错误,去掉后,能正常判断,进行了
bychgh 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sy_binbin 的回复:]
sqlsum="select count(*) as namesum from Printhr_Company where company_name='"&request.form("company_name")&"'"

这样试试

如果request.form("company_name")这个是获得表单值,况且是字符串格式的,就不用cint转换了

并别sql语句……
[/Quote]
按你说的做了,不行,谢了~
xyy7309 2010-06-17
  • 打赏
  • 举报
回复
if not rsrs.bof then
response.write "<script language=""javascript"">alert('已有记录,请修改用户名!');return false;</script>"
response.end
end if


  • 打赏
  • 举报
回复
set rsrs=server.createobject("adodb.recordset")

sqlsum="select top 1 * from Printhr_Company
where company_name='"& request.form("company_name")&"'"
rsrs.open sqlsum,conn,1,1
if not rs.bof then
response.write "<script language=""javascript"">alert('已有记录,请修改用户名!');return false;</script>"
response.end
end if

改成这样,特别注意红色部分不能少,否则程序会继续往下执行
因为会没有停止,会把服务端程序先执行完毕才会执行客户端的代码
jiujiuyaokan 2010-06-17
  • 打赏
  • 举报
回复

sqlsum= "select * from Printhr_Company where company_name=" & cint(request.form("company_name"))

rsrs.open sqlsum,conn,1,1

if rsrs.recordcount>0 then '当记录条数大于0
response.write "<script language=""javascript"">alert('已有记录,请修改用户名!');return false;
end if

sy_binbin 2010-06-17
  • 打赏
  • 举报
回复
sqlsum="select count(*) as namesum from Printhr_Company where company_name='"&request.form("company_name")&"'"

这样试试

如果request.form("company_name")这个是获得表单值,况且是字符串格式的,就不用cint转换了

并别sql语句按照我上面的去写

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧