仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1361|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页编程之挪用SQL SERVER数据库存储进程完成ASP用...

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:41:29 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件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
%>
</p>  asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-19 12:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表