用存储过程来判断重复的记录,在ASP中怎么调用?
存储过程:CREATEPROCEDUREdbo.user_reg_add(@unchar(15),@pwchar(20),@riqidatetime,@ipchar(20...
存储过程: CREATE PROCEDURE dbo.user_reg_add( @un char(15), @pw char(20), @riqi datetime, @ip char(20), @ifjy char(3), @qx char(10) @ret char(50) output ) AS SET nocount on if Exists(select * from user_reg where username=@un) begin set @ret='对不起,该用户名已经存在' Return 0 end insert user_reg(username,password, riqi_zhuce,ip_zhuce,ifjinyong,quanxian) values(@un,@pw,@riqi, @ip,@ifjy,@qx) set @ret='OK' GO 要ASP中的调用: <% un=checkstr(Trim(Request("username"))) pw=checkstr(Trim(Request("password"))) ifjy="no" qx=3 riqi=now ip=Request.ServerVariables("HTTP_X_FORWARDED_FOR") if ip="" then ip=Request.ServerVariables("REMOTE_ADDR") end if %> <% set rs=Server.CreateObject("ADODB.recordset") rs.CursorLocation=3 rs.open"execute user_reg_add '"&un&"','"&pw&"','"&riqi&"','"&ip&"','"&ifjy&"','"&qx&"'",conn,1,3 '调用存储过程 %> 这是一个用户注册的例子,我是想在注册的时候,如果该用户名已经存在了,给出提示。不知道存储过程中的提示在ASP中写在哪里,怎么写。
展开
2个回答
展开全部
<% Dim Username, Pwd ' 从客户端接值 un=checkstr(Trim(Request("username"))) pw=checkstr(Trim(Request("password"))) ifjy="no" qx=3 riqi=now ip=Request.ServerVariables("HTTP_X_FORWARDED_FOR") ' 声明一个Command 对象 Set Cmd = Server.CreateObject("ADODB.Command") ' 指明Cmd对象的数据库联接对象 Set Cmd.ActiveConnection = Conn ' 命令文本即存储过程名 Cmd.CommandText = "user_reg_add" ' 指明命令的类型是存储过程(*) Cmd.CommandType = "4" ' 刷新并清空参数 Cmd.Parameters.Refresh ' 给存储过程里面的输入参数赋值 Cmd.Parameters("@un").Value = un Cmd.Parameters("@pw").Value = pw .. .. ' 执行存储过程 Cmd.Execute ' 声明变量,接受存储过程@ret的值 Dim Succeed ' 储存存储过程返回的结果 Succeed = Cmd.Parameters("@ret").Value response.write succeed Set Cmd = Nothing Set Rs = Nothing Set Conn = Nothing %>
展开全部
用js就不那么麻烦了. 用asp 的话 在这 <% set rs=Server.CreateObject("ADODB.recordset") rs.CursorLocation=3 rs.open"execute user_reg_add '"&un&"','"&pw&"','"&riqi&"','"&ip&"','"&ifjy&"','"&qx&"'",conn,1,3 '调用存储过程 %> 之前做个判断就好了 判断语句 set rs=server.createobject("adodb.recordset") sql="select * from user_reg_add where un='"&un&"'" rs.open sql,conn,1,3 if rs.bof or rs.eof then set rs=Server.CreateObject("ADODB.recordset") rs.CursorLocation=3 rs.open"execute user_reg_add '"&un&"','"&pw&"','"&riqi&"','"&ip&"','"&ifjy&"','"&qx&"'",conn,1,3 ' else response.write "<script language='javascript'>alert('帐户已经有人使用,请重新输入!');</script>" response.write "<meta http-equiv='refresh' content='0;url=123.asp'>" response.End() end if
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询