我们平常在查询数据库的时候,经常会把一些查询的结果保存起来,如数据存放到excel中,但如果能有办法把数据存放到html页面中去显示,并且把数据以网页形式展现出来的时候,这样会更直观。
我们先来了解一下模板文件,template模板,后缀名称为tpl,tpl文件和html文件一样,在tpl文件中注意其中的">标记,分别代表的意思如下:
begindetail:代表准备开始替换模板文件的开始
enddetail:代表结束替换模板文件
insert_data_here:代表指明在何处插入结果集中的数据。如果结果集记录中包含多个字段的话,insert_data_here将按照其在记录中的顺序,也就是查询语句select执行语句中的字段顺序,来按顺序地插入数据。也就是说,每个结果记录中的每个字段只能在页面中被插入一次。如果要想在页面中多次使用某个字段,可以先将它赋给一个变量。然后再反复地使用此变量即可。
那我们就来做一个简单格式的tpl模板,命名为outputhtml.tpl,模板的html代码如下:
show html
公司名称
联系人
产品名称
产品名称
<�gindetail%>
<%insert_data_here%>
<%insert_data_here%> | <%insert_data_here%> | <%insert_data_here%> <%enddetail%>
|
模板文件做好后,我们先把它存放在“d:\sql server文件”目录下面,然后我们在sql server查询分析器里面执行下面的代码:
execute sp_makewebtask
@outputfile = ’d:\sql server文件\outputhtml.htm’,
@query = ’select suppliers.companyname,suppliers.contactname,products.productname,products.unitprice
from suppliers inner join products on suppliers.supplierid=products.supplierid
where suppliers.supplierid=1’,
@templatefile = ’d:\sql server文件\outputhtml.tpl’,
@dbname = ’northwind’,
@rowcnt = 0,
@whentype = 9 ,
@lastupdated = 1
go
我们先看sp_makewebtask这个sql server自带的系统存储过程,它用来创建一项生成 html文档的任务,该文档包含执行过的查询返回的数据。在本例中,上述的参数分别代表的意思为:
@outputfile
生成html 文件的位置。如果文档将在远程计算机上生成,则该参数可以是 unc 名称。
@query
要运行的查询。当在运行任务时,查询结果将以表格形式显示在 html 文档中。可以指定多个 select 查询,这样可以在 outputfile 中显示多个表。
@templatefile
用于生成 html 文档的模板文件的路径。模板文件包含 html 文档的格式特征信息和标记 ,该标记指示将查询结果添加到 html 表中的位置。
@dbname
在其上运行查询的数据库名。
指定查询结果是以粗体 (1) 还是非粗体 (0) 显示。bold 的数据类型为 tinyint,默认值为 0。
@rowcnt
指定生成的 html 文档中所显示行的最大值。默认值为 0,用来指定显示在 html 文档中满足给定查询的所有行。
@whentype
指定何时运行创建 html 文档的任务。9代表立即和应请求创建页。将立即创建和重新创建 html 文档。
@lastupdated
指定所生成的 html 文档是否显示“上次更新时间:”时间戳指示上次更新的日期和时间 (1) 或者没有时间戳 (0)。在 html 文档中,时间戳出现在查询结果的前一行。
上面的存储过程如果在sql server 2005下执行,还须得开通执行它的权限,可以执行下面的代码:
sp_configure ’show advanced options’, 1;
go
reconfigure;
go
sp_configure ’web assistant procedures’, 1;
go
reconfigure
go
执行过后,我们看在d盘sql server文件下面生成一个outputhtml.htm文件,查看原代码,可以看到模板标记替换成对应的数据库的内容,代码如下:
show html
公司名称
联系人
产品名称
产品名称
exotic liquids
charlotte cooper | chai | 18.0000
exotic liquids | charlotte cooper | chang | 19.0000
exotic liquids | charlotte cooper | aniseed syrup | 10.0000
|
运行此html文件,可以看到结果如图:
图 sql server查询结果输出到html页面
就和sql语句查询的结果对应了,这样,我们就把查询语句输入到html页面了。
it专家网原创文章,未经许可,严禁转载!