All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
多文件上传Asp.net(C#)_[Asp.Net教程]
AJAX.NET框架构建Lookup服务器控件_[Asp.Net教程]
用PHP将数据导入到Foxmail_php资料_编程技术
如何利用PHP会话显示出当前在线的用户_php资料_编程技术
vbscript下将小写金额转成大写金额_JavaScript技术_编程技术
从草根到大腕,PHP技术发展历程_php资料_编程技术
扩展GridView控件(六)——数据行响应鼠标的单击和双击事件_[Asp.Net教程]
使用Delphi组件编程
HTML 初学者指南(8)_[Html教程]
delphi按钮组件(TButton)使用实例
Reading number is top 10 pictures
[猫扑大杂烩]华东师范墙上看到的捐精告示 15毫升3600元
西游四格漫画(四)
美女
这才叫绝色美女2
Exquisite decoration is not paying too much2
a pure sister
From China fortress sora aoi3
中国文革时期的色情图片2
Flow chart of breast implants
Summer is most suitable for young people to travel in China7
Download software ranking
Boxer Classic video2
C#与.NET技术平台实战演练
C#COM编程指南
美女游泳记
尖东毒玫瑰A
Proficient in Eclipse
Unix video tutorial9
Unix video tutorial5
Boxer's Top ten classic battle9
在线棋牌游戏3.05版
归海一刀 published in(发表于) 2014/2/3 6:41:09 Edit(编辑)
一个简单的SQL存储过程_[SQL Server教程]

一个简单的SQL存储过程_[SQL Server教程]

一个简单的SQL存储过程_[SQL Server教程]

前言


一直用ASP+ACCESS来编写网页和公司的内部应用系统,内部应用系统也就是大家说的OA吧,这个我也不知道,公司又叫它ERP,反正不管什么,它是用来帮助公司处理日常工作的,简化劳动的.从来没用过存储过程,所有的添加,删除,修改都是在ASP里面写程序执行,代码很多.数据量少的时候没什么感觉,挺快的,可等到数据量大的时候,上W条记录查询,尤其是不分页都显示在一页里的时候情况就出现了,速度很慢,要10几秒才有反应,所以想到了要用SQL的存储过程来简化代码和加快程序的执行速度!


在学习了51JS里的一篇教程SQL SERVER数据库开发之存储过程应用又在QQ里大侠的指导下终于有点入门,下边是我的学习笔记,有问题欢迎大家一起讨论!~


1.ASP调用存储过程


首先在SQL里建立一个数据库叫it,怎么建我就不说了,这个简单,一看就知道了。然后在库里建个表,写几个数据记录,如下:



点击放大




打开查询分析器:



在里边写下如下语句点击绿色按钮执行它:



你到数据库的存储过程里面看,已经多了一个名为upGetUserName的存储过程了表明已经成功的建立了存储过程,如果没有,试着刷新下。



下面用ASP来调用它:
CONN文件(连接数据库)如下:


<%
set db=server.createobject("adodb.connection")
db.Open ("driver={SQL Server};server=192.168.18.254;uid=sa;pwd=;database=it;")
%>


192.168.18.254为SQL SERVER服务器的IP地址,uid pwd it 分别为连接数据库的用户和密码及所要连的数据库


新建一个index.asp文件,内容如下:





<%
set rs=server.createobject("adodb.recordset")
sql = "exec upGetUserName"
rs.open sql,db,3,2


response.write rs.recordcount&"
"
while not rs.eof
response.write rs("uname")&"
"
rs.movenext
wend
response.End
%>



在浏览器中执行这个页面如果显示如下:



那么恭喜你,成功了!
上面是不带参数的存储过程调用,但我们在使用中一定会有参数的,下面就来介绍一个有参数的。
还是上边的例子,我们把原来的存储过程改成这样:



CREATE PROC upGetUserName
@intUserId NVARCHAR(50),
@intUserpass NVARCHAR(50)
AS
BEGIN
SELECT uname FROM users WHERE uId=@intUserId and pass=@intUserpass


END
GO



可以把原来的存储过程删除,然后把这个写在查询分析器里来执行,也可以直接在原来的存储过程里改。
@intUserId NVARCHAR(50),
@intUserpass NVARCHAR(50)
是要传送进来的参数,@是必须的,因为有两个,所以之间用“,”来分隔
index文件改成如下:





<%
set rs=server.createobject("adodb.recordset")
sql = "exec upGetUserName 'snake','snake'"
rs.open sql,db,3,2


response.write rs.recordcount&"
"
while not rs.eof
response.write rs("uname")&"
"
rs.movenext
wend
response.End
%>



注意:sql = "exec upGetUserName 'snake','snake'"
两个snake不是一个意思,一个是uid,一个是pass,存储过程返回的是uid="snake"并且pass="snake"的记录
数据库里只有一条这样的记录,所以会显示:



OK,你已经入门了!就这么简单!

出处:蓝色理想







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.