正文

sql存储过程------用户登录系统2007-10-25 10:29:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wangsdong/30476.html

分享到:

在事例前,先感谢 超然耗儿 提的这个建议
1、打开sql企业管理器,在里面建立数据库userinfo,完成后再在这个数据库中建立表user,再建立字段username、password,字段类型(varchar),最后给这个数据库加个用户user,设置好密码。向表中输入两条记录或更多,用来测试

2、打开userinfo  ------- 存储过程------右击-----新建存储过程(getUserlogin)-----删除文本框中的内容,贴粘上以下代码:
 CREATE PROCEDURE dbo.getUserlogin
       @UserName varchar(40),
       @UserPass varchar(40) output
    as
    set nocount on
    begin
       if @UserName is null return
       select @UserPass=password
           from dbo.[user]
           where username=@UserName
       return
    end
GO

3、conn.asp
<%
dim conn,connstr
set conn = server.createobject("adodb.connection")
connstr="Provider=SQLOLEDB.1;Persist Sercurity Info=True;User ID=user;pwd=123456;Initial Catalog=userinfo;Data Source=(local);"
conn.open connstr
set rs=server.CreateObject("adodb.recordset")
%>

4、用户登录窗口 index.htm
 <form name="form1" method="post" action="login.asp">
  <input type="text" name="username"><br>
  <input type="password" name="password"><br>
  <input type="submit" value=" 登 录 ">&nbsp;<input type="reset" value="重置">
  </form>

5、login.asp
<!--#include file="conn.asp"-->
<%
username=request("username")
password=request("password")
'**调用带有输入输出参数的存储过程**
DIM MyComm,UserName
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = conn
MyComm.CommandText      = "getUserlogin"     '指定存储过程名
MyComm.CommandType      = 4                 '表明这是一个存储过程
MyComm.Prepared         = true              '要求将SQL命令先行编译
'声明参数
MyComm.Parameters.append MyComm.CreateParameter("@UserName",200,1,40,username)
MyComm.Parameters.append MyComm.CreateParameter("@UserPass",200,2,40)
MyComm.Execute
'取得出参
UserPass = MyComm(1)
If password=userpass Then
 response.write "登录成功"
Else
 response.write "登录失败"
End if
Set MyComm = Nothing
%>

6、IIS中运行index.htm,看看效果

原创文章,转载请注明来源,作者,谢谢

阅读(6023) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册