调用SQL SERVER数据库存储过程实现ASP用户身份验证

server|存储过程|数据|数据库

在我们编写用户身份验证程序中,很容易用ASP调用SQL语句来检索数据表中是否有条件相符的记录,然后再用ASP进行相关处理。

  条条道路通罗马!当然,我们也可以用SQL SERVER数据库的存储过程来轻松实现这个功能。虽然相对而言较复杂,但其效率的提升是很明显的,因为存储过程是在数据库中已经编译好的一段程序,我们只需用ASP将其所用的各种参数正确传递就行了。
  
  本文也主要是想通过一个简单的事例,向大家介绍一下如何在ASP中调用带参数的存储过程。希望大家能从中得到更多的启迪。

  第一步,建立数据表userinfo
id int(4) not null,
fullname varchar(50) not null,
password varchar(20) not null,
nikename varchar(50) not null

  第二步,建立存储过程usercheck
CREATE procedure usercheck
@infullname varchar(50),
@inpassword varchar(50),
@outcheck char(3) OUTPUT
as
if exists(select * from userinfo where fullname=@infullname and password=@inpassword)
select @outcheck='yes'
else
select @outcheck='no'

  注:这里建立了一个带三个参数的存储过程,第一个参数@infullname,这是个输入参数,(用户名);第二个参数@inpassword,也是个输入参数,(密码);第三个参数@outcheck,这是个输出参数,(是否存在此用户),当定义输出参数时在数据类型后必须加上"OUTPUT",字样。
  
  然后,我们带上前两个输入参数在SQL语句中检索是否存在符合条件的用户,如果存在,输出参数的值为"yes",否则为"no"。

  
  第三步,编写ASP程序,调用存储过程

<%
'表单提交标志
if request("ok")=1 then

'建立数据库连接
Set Comm=Server.CreateObject("ADODB.Command")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"

'以comm对象建立存储过程连接,4代表连接类型为存储过程
Comm.CommandText="usercheck"
Comm.CommandType=4

    '以p1为名称建立comm对象的parameter方法。将第一个参数fullname追加到p1集合中
    'fullname 调用的第一个参数的名称
    '200 参数类型 varchar型
    '1 参数流向 输入,输入为1,输出为2
    '50 参数的长度 50
    'request("fullname") 赋参数出始值

Set p1=Comm.CreateParameter("fullname",200,1,50,request("fullname"))
Comm.Parameters.Append p1

'以p1为名称建立comm对象的parameter方法。将第二个参数password追加到p1集合中
'具体同上

Set p1=Comm.CreateParameter("password",200,1,20,request("password"))
Comm.Parameters.Append p1

'以p1为名称建立comm对象的parameter方法。将第三个参数check追加到p1集合中
'129 参数类型 char型
'2 参数流向 输出
'3 参数长度 3
Set p1=Comm.CreateParameter("check",129,2,3)
Comm.Parameters.Append p1

'运行存储过程
Comm.Execute

'提出结果,进行处理
if comm("check")="yes" then
response.write "欢迎进入系统! 用户名:" & comm("fullname") & " 密码:" & comm("password")
else
response.write "对不起,您尚未注册!"
end if

'释放连接
Set Comm=nothing
else

'表单部份
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body>
<form method="POST" action="check.asp">
<p><input type="text" name="fullname" size="20"><br>
<input type="password" name="password" size="20"></p>
<p><input type="submit" value="提交" name="B1"></p>
<input type="hidden" name="ok" value="1">
</form>
</body>
</html>
<%
end if
%>

时间: 2025-01-31 01:59:03

调用SQL SERVER数据库存储过程实现ASP用户身份验证的相关文章

利用SQLSERVER存储过程实现ASP用户身份验证

server|sqlserver|存储过程 在我们编写用户身份验证程序中,很容易用ASP调用SQL语句来检索数据表中是否有条件相符的记录,然后再用ASP进行相关处理. 条条道路通罗马!当然,我们也可以用SQL SERVER数据库的存储过程来轻松实现这个功能.虽然相对而言较复杂,但其效率的提升是很明显的,因为存储过程是在数据库中已经编译好的一段程序,我们只需用ASP将其所用的各种参数正确传递就行了. 本文也主要是想通过一个简单的事例,向大家介绍一下如何在ASP中调用带参数的存储过程.希望大家能从中

在asp中调用sql server的存储过程

在asp中调用sql server的存储过程可以加快程序运行速度,所以这些天在研究asp中利用sql server的存储过程,现总结如下,其中很多思想也是直接从chinaasp论坛中得出来,希望能给大家一些帮助.1.调用存储过程的一般方法先假设在sql server中有一存储过程dt_users:CREATE PROCEDURE [dbo].[dt_users] ASselect * from usersreturnGO第一种方法是不利用command对象,直接用recordset对象set r

sql server-mac下如何连接调用sql Server数据库

问题描述 mac下如何连接调用sql Server数据库 刚刚更换了mac book,所有开发工具都从新适应,现在有个项目需要使用sql Server2005开发,可没有适合的查询sql Server的工具各位大神给小弟指点迷津啊,不胜感激. 解决方案 1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为"启用",还有必须要有密码. 2.需要在ODBC中进行数据源配置,数据源选"SQL SERVER",登录方式使用"

理解和处理SQL Server数据库中的孤立用户

问题 把数据库从一个服务器实例附加和恢复到另一个实例中是数据库管理 员执行的常见的任务.附加或者恢复一个数据库之后,之前在数据库中创建和配 置的登录名已经不能访问了.这个问题最常见的症状是应用程序会遇到登录失败 的错误,或者是当你试着把登录名添加到数据库中时,你可能会得到一个信息比 如这个用户已经在这个数据库中存在.当你执行一个附加或者一个恢复时,这是 很常见的一种情况,那么你如何解决这个问题呢? 专家解答 当数据 库从一个服务器迁移到另一个服务器时,存储在主从数据库中的登录名ids与存储 在每

实例讲解JSP调用SQL Server的存储过程

JSP调用SQL Server存储过程的实例: 创建表: CREATE TABLE [BookUser] (     [UserID] [int] IDENTITY (1, 1) NOT NULL ,     [UserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,     [Title] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,     [Guid] [uniqu

VB/ASP 调用 SQL Server 的存储过程

server|存储过程 昨天有位久未谋面的老同学,突然问起如何在VB中调用SQL的存储过程.当时因为手上没有资料,机器上也没装SQL,随即发了早年写的一段ASP代码,也不知道行不行.抱着负责任的态度,刚好又有点空闲,便做了个测试:(说来惭愧,N久没用VB了,居然不知道怎么加入ADODB类型库了,就填加了一个ADODC控件,汗颜~```) Private Sub ExampleButton_Click()Dim sqlConn As New ADODB.ConnectionDim sqlCmd A

SQL Server数据库存储过程的发展历史

SQL Server存储过程可以是Transact-SQL(T-SQL)语句,或者是.NET框架的公共语言运行时(CLR),它是专为方便数据库查询而设计的.它们接受输入参数,返回输出参数,可以在数据库中执行增删改查各种操作.存储过程提供了大量便利,从降低网络交通量到重用缓存执行计划,还增强了安全性,提升了易维护性. SQL Server 2008版本引入了一批新功能,与早期的相同产品SQL Server 2005相比,在存储过程性能方面提供了极大的提升.三年后,2008 R2推出,该版本对存储过

将MS SQL SERVER数据库运行在普通用户(独立用户)状态下的设置方法终结篇

看了脚本之家网上的很多文章,整理了如下步骤,基本上可以说是终结解决方法了,这里给详细的整理下了, 希望可以帮助更新的朋友,让我们的服务器更加安全.脚本之家奉献. 首先是大家已经安装好了sqlserver 企业版. 第一步: Win2003 MSSQL以普通用户运行安全设置篇 这个里面主要是讲解了,普通用户的创建与设置,但需要注意的是,权限的设置 C盘需要以下权限: C:\administrators 全部权限 System 全部权限 IIS_WPG只读与运行的权限(只应用在当前文件夹) SQL2

请问在vsto2005中使用infopath作表单,如果用vb.net代码语言调用sql server 2000存储过程?谢谢

问题描述 请问在vsto2005中使用infopath作表单,如果用vb.net代码语言调用sqlserver2000存储过程?谢谢 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励:2:帖子结帖后会