论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Asp教程
Tag:入门,文摘,实例,技巧,iis,表单,对象,上传,数据库,记录集,session,cookies,存储过程,注入,分页,安全,优化,xmlhttp,fso,jmail,application,防盗链,stream,组件,md5,乱码,缓存,加密,验证码,算法,ubb,正则表达式,水印,,日志,压缩,url重写,控件,函数,破解,触发器,socket,ADO,初学,聊天室,留言本,视频教程

存储过程及ASP调用存储过程实现分页(一)

文章类别:Asp | 发表日期:2010-2-1 13:34:27

看完本文章你应该可以(本文目的):

▲创建、修改、删除存储过程。

▲理解存储过程类型及编写。

▲掌握ASP调用SQL存储过程。

▲了解SQL语句的优化。

在说存储过程前,我们先来了解下存储过程的优点或为什么要用存储过程:

一、存储过程的优点

1、SQL语句已经预编绎过了,因此执行效率、性能大大增加。

2、可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。

3、减少网络流量。如:执行插入记录这个功能时只要传输存储过程名、参数和这些参数的数值即可。免去写一大串操纵的SQL语句。

我们将会发现要是网络速度慢时这个是多么的有用,即减少对客户机的压力,又可以简化一系列复杂语句。  

4、减少注入式攻击。存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏了数据逻辑。  

5、存储过程可以在单个存储过程中执行一系列SQL语句,存储过程内还可以嵌套其它存储过程。

6、有利于SQL语句的重用。

二、准备工作:

运行环境:为了实现本文的例子必须安装SQL Server 2000/2005和IIS5.0以上。建议再安装下Dreamweaver 8软件,这个绝对是Web开发的利器!接下来就是:

了解基本的SQL语句并创建库和表为下面的操作做准备。

这里先说下,创建、修改和删除数据库、表和存储过程等等一般都有2种方法:
1在“企业管理器”里进行创建、修改和删除数据库、表和存储过程。这个对初学者来说也许比较直观易懂。

2在“查询分析器”里进行创建、修改和删除数据库、表和存储过程。作为开发人员来说用这个最方便不过了,同时多写写SQL语句记记练练语法以熟练操作。

本文全部用第2种方法在“查询分析器”里进行。好了,开始“劳动”了。。。。
依次是创建Johnny数据库--建testTable表---插入信息。

CREATE database johnny --创建数据库

go

USE johnny          --使用数据库

go

CREATE TABLE testTable(              --创建表

       tID int identity(1,1),     --创建字段,下同

       tUserName varchar(50),

       tTel varchar(30)

)

Go

CREATE TABLE testUser   --再创建用户表

(

       uID int primary key identity(1,1),      --创建主键并设置递增1。

       uName varchar(20) not null,            --用户名,非空

       uEmail varchar(50) not null,             --用户名电子邮件,非空

       uQQ int default 0               --用户QQ,默认0

)

go

/*先给用户表插入几条记录*/

insert into testUser(uName,uEmail,uQQ) values('johnny','chenzxmail@163.com',40623660)

insert into testUser(uName,uEmail,uQQ) values('张三','12345@163.com',123456)

insert into testUser(uName,uEmail,uQQ) values('李四','43435@163.com',4354534)

go

/*现在给testTable表插入记录*/

set nocount on     --当 SET NOCOUNT 为 ON 时,存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。

declare @i int      --DECLARE 语句声明变量@i,并用 SET 或 SELECT 语句给其指派值。

set @i=1

while @i<=200000      --只要指定的条件为真,就重复执行语句。即插入200000的数据,数据的值随便你任意取,我这里也是随便插入做测试,呵呵发了1分14秒的时间。

begin

insert into testTable(tUserName,tTel) values(CAST(round(rand()*100000,0) AS varchar),CAST(round(rand()*100000,0) AS varchar)+CAST(CEILING(round(rand()*100000,0)/3) AS VARCHAR))

SELECT @i=@i+1

end

go

/*呵呵,这样准备工作就完成了。看看刚才插入的部分数据吧:*/

select * from testUser

go

SELECT TOP 50 * FROM testable

如图:



视频教程列表
文章教程搜索
 
Asp推荐教程
Asp热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058