4. 有输入参数和输出参数的存储过程
返回值其实是一种特殊的输出参数。在大多数情况下,我们用到的是同时有输入及输出参数的存储过程,比如我们想取得用户信息表中,某ID用户的用户名,这时候,有一个输入参数----用户ID,和一个输出参数----用户名。实现这一功能的存储过程如下:
/*SP4*/
CREATE PROCEDURE dbo.getUserName
@UserID int,
@UserName varchar(40) output
as
set nocount on
begin
if @UserID is null return
select @UserName=username
from dbo.[userinfo]
where userid=@UserID
return
end
go
调用该存储过程的ASP代码如下:
'**调用带有输入输出参数的存储过程**
DIM MyComm,UserID,UserName
UserID = 1
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
MyComm.CommandText = "getUserName" '指定存储过程名
MyComm.CommandType = 4 '表明这是一个存储过程
MyComm.Prepared = true '要求将SQL命令先行编译
'声明参数
MyComm.Parameters.append MyComm.CreateParameter("@UserID",3,1,4,UserID)
MyComm.Parameters.append MyComm.CreateParam ......
7. 返回多个记录集的存储过程
本文最先介绍的是返回记录集的存储过程。有时候,需要一个存储过程返回多个记录集,在ASP中,如何同时取得这些记录集呢?为了说明这一问题,在userinfo表中增加两个字段:usertel及usermail,并设定只有登录用户可以查看这两项内容。
/*SP7*/
CREATE PROCEDURE dbo.getUserInfo
@userid int,
@checklogin bit
as
set nocount on
begin
if @userid is null or @checklogin is null return
select username
from dbo.[usrinfo]
where userid=@userid
--若为登录用户,取usertel及usermail
if @checklogin=1
select usertel,usermail
from dbo.[userinfo]
where userid=@userid
return
end
go
以下是ASP代码:
'**调用返回多个记录集的存储过程**
DIM checklg,UserID,UserName,UserTel,UserMail
DIM MyComm,MyRst
UserID = 1
'checklogin()为自定义函数,判断访问者是否登录
checklg = checklogin()
Set MyComm = Server.CreateObject("ADODB.Command")
with MyComm
.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
.CommandText = "getUserInfo" '指定存储过程名
.CommandType = 4 ' ......
问题:
asp如何调用存储过程实现分页!
存储过程如下:
CREATE PROCEDURE GetRecordfromPage
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(2000) = '' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(6000) -- 主语句
declare @strTmp varchar(1000) ......
Top-CMS主要特点:
1.系统采用ASP+COM技术开发,一方面最大程度保障系统安全性,另一方面极大的提高系统运行效率。
2.系统完全基于B/S模式构建,只要在服务器上安装了本系统,客户机不需要安装其他软件,直接使用IE便可浏览。
3.系统本身集成诸如公告、专题、在线调查、用户、友情链接等多个子系统。
4.模板决定页面形式。本系统前台所有页面均由模板控制生成,模板的布局及风格直接决定整个网站的布局及风格;同类模板可以具有多个模板风格,可以自由灵活在线选用不同的页面模板,极大的满足用户页面个性化要求。模板格式为.html格式,可以直接在线编辑制作或可以先由其他网页制作软件如Frontpage、Dreamweaver等制作后再上传。
5.系统前台页面完全生成静态页面(首页为index.html),用户访问时无需读取数据库,在访问量大的情况下,极大的节约服务器资源,保证页面浏览速度。因为是静态页,甚至在服务器出错不能运行ASP文件的情况下也不会影响前台页面信息的浏览。
6.发布信息时可对任何信息进行推荐信息、需要审核才能发布、显示相关信息、图片信息等多项设置。
&n ......
遍历XML文档
对于下面的一段XML代码:
XML文档实例books.xml,如下所示:
<?xml version="1.0" encoding="gb2312" ?>
<books>
<book status="已售完">
<author>破破</author>
<title>XML入门</title >
</book>
<book status="热卖中">
<author>坏坏</author>
<title>XML提高</title>
</book>
</books>
我们已经可以创建XML文档对象,并加载XML文档了。对于已经加载的文档,我们要从文档中获取所需要的内容,这就要求能够通过DOM树来访问树中的任何一个节点,也就是对DOM树的遍历。
下面我们依旧以books.xml为例,通过几个实例来说明如何遍历DOM树中的节点。
首先,我们要获取XML文档的根元素节点,用VB描述这个操作如下:
Set root = myDocument.documentElement
现在,我们已经得到了文档的根元素节点,对于其他元素,我们如何获得对它的访问呢?以文档中的第二个book元素为例,对该元素节点以及其子节点的访问可以通过下面的方式来实现。
Set bookNode = root.childNodes.item(1)
Set authorNode = bookNode. ......
遍历XML文档
对于下面的一段XML代码:
XML文档实例books.xml,如下所示:
<?xml version="1.0" encoding="gb2312" ?>
<books>
<book status="已售完">
<author>破破</author>
<title>XML入门</title >
</book>
<book status="热卖中">
<author>坏坏</author>
<title>XML提高</title>
</book>
</books>
我们已经可以创建XML文档对象,并加载XML文档了。对于已经加载的文档,我们要从文档中获取所需要的内容,这就要求能够通过DOM树来访问树中的任何一个节点,也就是对DOM树的遍历。
下面我们依旧以books.xml为例,通过几个实例来说明如何遍历DOM树中的节点。
首先,我们要获取XML文档的根元素节点,用VB描述这个操作如下:
Set root = myDocument.documentElement
现在,我们已经得到了文档的根元素节点,对于其他元素,我们如何获得对它的访问呢?以文档中的第二个book元素为例,对该元素节点以及其子节点的访问可以通过下面的方式来实现。
Set bookNode = root.childNodes.item(1)
Set authorNode = bookNode. ......
由于ASP编程比较简单,所以在企业中有很多的简单应用都是基于在Windows 2000 Server+ASP+MSSQL上的。而这也是企业想把应用迁移到Linux环境的其中一大障碍。若要达到迁移的目的,通常有两种方式:
引用
1、把ASP改PHP,MSSQL换Mysql,效果好,性能稳定,可靠性强,但耗费时间比较多,费用比较高,用户不容易接受;
2、让ASP通过中间环境直接运行在Linux平台上,连接到独立的MSSQL上,这对用户的影响不大,容易接受,工作量相对较低,但可能因中间环境对ASP的支持不够完善,所以部分代码可能不能识别,须调整,需考虑成功率。
下面要实现的主要是指第二种方式。
通过努力,已经实现了红旗Linux+Apaceh+iASP+ASP连接到独立的MSSQL服务器上。性能和效果都不错,可供实际应用参考。
一、原理
要在Linux环境中运行ASP,需要依赖第三方的中间环境。通常有几种模式:
引用
1、Apache_ASP功能模块,兼容性不好,而且不能连接数据库,意义不大;
2、Instant ASP java模块(简称iASP),可支持Apache、Zenus等Web服务,可连接数据库,效果不错;
3、Sun one ASP模块,效果最好,但收费很贵,测试版只有30天试用期,而且速度慢。
而我选择的环境是:
引用
操作系统:红 ......
由于ASP编程比较简单,所以在企业中有很多的简单应用都是基于在Windows 2000 Server+ASP+MSSQL上的。而这也是企业想把应用迁移到Linux环境的其中一大障碍。若要达到迁移的目的,通常有两种方式:
引用
1、把ASP改PHP,MSSQL换Mysql,效果好,性能稳定,可靠性强,但耗费时间比较多,费用比较高,用户不容易接受;
2、让ASP通过中间环境直接运行在Linux平台上,连接到独立的MSSQL上,这对用户的影响不大,容易接受,工作量相对较低,但可能因中间环境对ASP的支持不够完善,所以部分代码可能不能识别,须调整,需考虑成功率。
下面要实现的主要是指第二种方式。
通过努力,已经实现了红旗Linux+Apaceh+iASP+ASP连接到独立的MSSQL服务器上。性能和效果都不错,可供实际应用参考。
一、原理
要在Linux环境中运行ASP,需要依赖第三方的中间环境。通常有几种模式:
引用
1、Apache_ASP功能模块,兼容性不好,而且不能连接数据库,意义不大;
2、Instant ASP java模块(简称iASP),可支持Apache、Zenus等Web服务,可连接数据库,效果不错;
3、Sun one ASP模块,效果最好,但收费很贵,测试版只有30天试用期,而且速度慢。
而我选择的环境是:
引用
操作系统:红 ......