文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发数据库技巧 → SQL Server静态页面导出技术4

SQL Server静态页面导出技术4

时间:2004/11/15 23:31:00来源:本站整理作者:蓝点我要评论(0)

本段文章节选自铁道出版社新出的《用BackOffice建立Intranet/Extranet应用》一书(现已在海淀图书城有售)。本书详尽地讲述了如何使用微软BackOffice系列产品来组建Intranet/Extranet应用。通过它您将掌握NT的安装和设置、使用IIS建立Web站点、通过ILS建立网络会议系统、用Exchange建立企业的邮件和协作系统、用SQL Server建立Web数据库应用、用Proxy Server建立同Internet安全可靠的连接、用Media Server建立网络电视台/广播站、用Chart server建立功能强大的聊天室、用Site Server建立个性化的邮件列表和分析网站的访问情况、用Commerce Server建立B2B或B2C的电子商务网站。此外本书还对网络的安全性进行了讨论,从而指导您建立一个更为健壮和安全的网络应用。阅读本书之后,您将发现实现丰富多彩的网络应用原来这样简单……

绝对原创,欢迎转载。但请务必保留以上文字。





use test

go

declare

    @riqi  varchar(20),

    @filepath  varchar(255),

    @listfile  varchar(255),

    @command varchar(255)

set @riqi=left(convert(varchar(40),getdate(),20),10)

set @filepath='d:\webout\'+@riqi+'\'

set @command='md '+@filepath

execute master.dbo.Xp_cmdshell @command

set @command='md '+@filepath+'images'

execute master.dbo.Xp_cmdshell @command

set @command ='copy d:\test\files\*.* d:\webout\'+@riqi+'\'

execute master.dbo.Xp_cmdshell @command

set @command ='copy d:\test\files\images\*.* d:\webout\'+@riqi+'\images\'

execute master.dbo.Xp_cmdshell @command

set @command ='copy d:\test\'+@riqi+'\*.* d:\webout\'+@riqi+'\'

execute master.dbo.Xp_cmdshell @command

set @listfile=@filepath+'list.htm'

execute sp_makewebtask

@outputfile=@listfile,

@query='select distinct banmian

from gaojian

where kanwu=''出版报'' and datepart(yy,riqi)=datepart(yy,getdate()) and datepart(dy,riqi)=datepart(dy,getdate())',

@templatefile='d:\test\list.tml',

@codepage=936

    在此段代码中先定义了一些变量,用来调用存贮过程时使用。其中@riqi变量用于存放当日的日期(其格式为yyy-mm-dd);@filepath变量用于存放产生静态页面的路径;@listfile变量用于存放版面列表页面文件的路径和文件名;@command变量用于存放要执行的系统命令。

    随后我们对各个变量进行赋值。并调用xp_cmdshell存贮过程来完成建立相应目录、拷贝文件等工作。xp_cmdshell存贮过程是一个用来执行NT系统命令的扩展存贮过程。其语法结构如下:

    xp_cmdshell {'command_string'} [, no_output]

    其中command_string参数为要执行的系统命令。而选项no_output则用来指明不输出系统命令的执行结果。

    在此段代码的最后,执行未指明whentype参数的sp_makewebtask存贮过程,导出当日的版面列表页面文件。使用的模板文件为list.tml。list.tml文件的代码如下:



出版报







<%begindetail%>





<%enddetail%>





<%insert_data_here%>


    可以看到,静态页面导出使用的模板文件同IDC技术中使用的htx文件十分相似。其中也包含<%begindetail%>和<%enddetail%>字段。所不同的是,模板文件中不使用<%字段名%>来标识字段。只是简单的使用<%insert_data_here%>来指明在何处插入结果集中的数据。如果结果集记录中包含多个字段的话,<%insert_data_here%>将按照其在记录中的顺序(即按照SELECT语句中的字段顺序)来顺序地插入数据。也就是说,每个结果记录中的每个字段只能在页面中被插入一次。如果要想在页面中多次使用某个字段,可以先将它赋给一个变量。然后再反复地使用此变量即可。

    在此模板文件中有一段Java程序,其用途是为每个版面按照其顺序产生超链接。其链接分别为1.htm~n.htm,n值为当日版面的数目。

    至此我们已经成功地建立了存放页面文件的目录、完成了相应文件的拷贝工作、导出了当日版面的列表文件。下面将为每个版面来产生文章列表页面文件。

declare

@lists int,

@banmian varchar(64),

    @filename varchar(64),

    @search varchar(2000)

set @lists=0

declare point cursor for

select distinct banmian

from gaojian

where kanwu='出版报' and datepart(yy,riqi)=datepart(yy,getdate()) and datepart(dy,riqi)=datepart(dy,getdate())

for read only



open point

fetch point into

  @banmian

while (@@fetch_status=0)

begin

set @lists=@lists+1

set @filename=@filepath+convert(varchar(64),@lists)+'.htm'

set @search='SELECT id,timu,laiyuan

FROM gaojian

WHERE datepart(yy,riqi)=datepart(yy,convert(datetime,'''+@riqi+'''))

and datepart(dy,riqi)=datepart(dy,convert(datetime,'''+@riqi+'''))'+

'and banmian ='''+@banmian+'''and kanwu=''出版报''order by timu'

execute sp_makewebtask

@outputfile=@filename,

@query=@search,

@templatefile='d:\test\list2.tml',

@codepage=936

fetch point into

@banmian

end

close point

deallocate point

    在此段代码中我们使用了游标。在此之前我们所使用的SQL语句都是用于集合操作的。也就是说,语句只是用来产生结果集合,或对结果集合进行分组。而要想分别对每个返回的结果记录进行不同的处理,就只有通过游标来实现了。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 mssql企业管理器不能打 Oracle PRKC-1002错误原因和解决方案SQL SERVER数据库日志清空图文教程win2003计算机改名后sql server 2005 本地复DB2错误信息码大全

人气排行 彻底解决mysql中文乱码的办法mysql数据库root密码忘记的修改方法SQL SERVER数据库日志清空图文教程.bak备份文件如何恢复Oracle PRKC-1002错误原因和解决方案Oracle错误代码大全如何将txt的文本数据导入SQL server 2005呢DB2错误信息码大全