首页  »  网页设计教程  »  设计自己的企业公司网站

设计自己的企业公司网站

浏览数:共 1292 次     评论:共 0 条     发布日期:2011-10-13     分类:net

1. 组建网站的初步流程
2. 添加数据库搜索与查询模块
3. 设计网站的具体结构
4. 数据库结构设计
重 点 提 示
 
 
学习目标:
使读者可以自己建立一个基本的、功能完备的企业公司网站,并熟悉利用
多种工具开发网站,为以后建立不同的企业公司网站打下良好基础。

 
 
189
网站开发员职业人必读
设计自己的企业公司网站
 
在 internet 上建立企业公司的网站,以形成网络商机、加强客户
服务,这都是企业公司经营的取胜之道。
9.1  组建网站的初步流程
企业公司商务网站是商家进行电子商务交易的平台,使用 internet 技术和各种商务网络
平台来完成商务交易过程,包括发布供求信息,订货及确认订货,支付及票据的签发、传送
和接收,确定配送方法并监控配送过程。
9.1.1  配置网站的iis
iis 是实现浏览器和网站之间联系的媒质,所以,要实现网站在浏览器端的显示,配置
iis 是关键的一步。网站建立之前,首先将qiye_1文件夹上传到网站根目录下。下面具体讲
述配置iis的方法:
(1) 执行【开始】→【运行】任务项,在【运行】对话框的“打开”文本框中键入“inetmgr”。
单击【确定】按钮即可打开如图9-1所示的对话框。
(2) 展开左侧的文件菜单树,右击“默认网站”项,在弹出的快捷菜单中执行【属性】
命令项,即可打开如图9-2所示的对话框。
 
图9-1  【internet信息服务(iis)管理器】对话框                 图9-2  【网站】对话框
(3) 单击【高级】按钮,即可对ip地址、tcp端口号和主机名称进行设置。
● ip地址:对于此处使用的地址,必须是在【控制面板】中已经定义该计算机上使用的,
若不指定特定的ip地址,将使该站点成为默认站点。
● tcp端口:确定正在运行的端口(默认端口为80),可以修改为任意惟一的tcp端口,但
要清楚该端口的端口号,否则将无法连接到服务器。要注意tcp端口的端口号是必须填写的。
● ssl端口:要制定安全套接子层(ssl)加密使用的端口,在该框中键入端口号。可以将
该端口号修改为任意惟一的端口号,但要清楚该端口的端口号,否则请求将无法连接。要注

 
 
190
第9章
 
   asp.net+sql数据库案例精粹
意ssl端口的端口号是必须填写的。
● 连接超时:设置服务器断开未活动用户的时间,即可确保http协议在关闭连接失败
时,可关闭所有链接。
● 保持http连接:允许客户保持与服务器的开放连接,而不是使用新请求逐个重新打
开客户连接。
● 启用日志记录:此项可以启用 web 站点的日志记录功能,可记录用户活动的详细信
息,并以选择的格式创建日志。
(4) 单击【属性】按钮,即可配置日志文件创建选项、w3c扩充日志记录或odbc日志
记录的属性。
(5) 单击【主目录】选项卡,即可打开如图 9-3 所示的对话框。在“本地路径”文本框
中,将包含网站文件的文件夹指定为主目录路径。
(6) 单击【文档】选项卡,即可打开如图 9-4 所示的对话框。在此对话框中可以设置网
站默认的文档,单击【添加】按钮,即可加入login.asp和index.asp页面文件。
 
图9-3  【主目录】对话框                             图9-4  【文档】对话框
(7) 单击【确定】按钮,即可完成对本系统网站的配置。
9.1.2  配置相应的数据库
数据库在网站建设中起着举足轻重的作用,网站的具体数据显示都是通过提取数据库的
数据来显示在页面上的。如果少了数据库的连接,网站的大部分功能将无法实现,所以对数
据库的配置是不可缺少的。
下面就具体了解配置sql server数据库的具体步骤:
 (1) 执行【开始】→【所有程序】→【microsoft sql server】→【企业管理器】任务项,
即可打开sql server企业管理器控制面板,如图9-5所示。

 
 
191
网站开发员职业人必读
设计自己的企业公司网站
 
 
图9-5  sql server企业管理器控制面板
(2) 展开左侧树型菜单之后,右击其中的“数据库”项,并执行快捷菜单中如图 9-6 所
示的【新建数据库】任务项,即可打开如图9-7所示的【数据库属性】对话框。在“名称”
文本框中输入数据库名称qiye_1之后,单击【确定】按钮,即可创建一个空数据库qiye_1。
                 
图9-6  执行【新建数据库】任务项                         图9-7  【数据库属性】对话框
(3) 右击新建的数据库qiye_1,并在如图9-8所示的快捷菜单中执行【所有任务】→【还
原数据库】任务项,即可打开如图9-9所示的【还原数据库】对话框,在此对话框中点选“从
设备(M)”单选项。
 
图9-8  执行【还原数据库】任务项                          图9-9  【还原数据库】对话框

 
 
192
第9章
 
   asp.net+sql数据库案例精粹
(4) 单击【选择设备】按钮,即可打开如图9-10所示的【选择还原设备】对话框。单击
其中的【添加】按钮,即可在弹出的对话框中选择还原目的地,如图9-11所示。
 
图9-10  【选择还原设备】对话框                      图9-11  【选择还原目的】对话框
(5) 单击【确定】按钮,即可完成数据库还原配置。
9.1.3  添加数据库搜索与查询模块
一个企业公司网站当然要拥有数据搜索与查询模块,下面来了解怎样在网站中添加数据
库搜索与查询模块。
将qiye_1文件夹中的webcount文件夹上传到存放企业公司网站的根目录下之后,打开
企业公司网站的首页qiye_1/default.asp文件,把qiye_1/webcount/count_flash.asp文件中的代
码复制到qiye_1/default.asp页最后代码处,并修改代码中的flash地址和数据库地址。经过修
改之后的代码如下:


   
   
 

 
     
         
         
       
         
         

 
 
194
第9章
 
   asp.net+sql数据库案例精粹
         


       
     
 
           
flash计数器

         
 
           
               
               
                <%
" 变量元素
dim fsoobject 

 
 
193
网站开发员职业人必读
设计自己的企业公司网站
 
" 文件系统对象
dim tsobject 
" 文字系统对象
dim filobject
" 文件对象
dim lngvisitornumber
" 保存来访者数量
dim intdisplaydigitsloopcount
" 循环计数显示
on error resume next
lngvisitornumber = 0
db="aaa.mdb"
set conn8 = server.createobject("adodb.connection")
connstr8="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath(db)
conn8.open connstr8
set rsvcount1 = server.createobject("adodb.recordset")
sql="update vcount set vcount=vcount+1 "
rsvcount1.open sql,conn8,3,3
set rsvcount = server.createobject("adodb.recordset")
sql="select  * from vcount"
rsvcount.open sql,conn8,1,1
lngvisitornumber=rsvcount("vcount")
for intdisplaydigitsloopcount = 1 to len(lngvisitornumber)
%>
               


                <%  next%>
             
           
  http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="20" height="27">
                   
                   
                   
                   http://www.macromedia.com/go/getflashplayer" type="application/
x-shockwave-flash" width="20" height="27" wmode="transparent">
                     
                 

         
 

   

9.1.4  添加统计模块
企业公司网站对信息的统计是必然的,这样才能实现企业公司网站在商业中的价值。下
面来了解怎样在网站中添加统计模块。
将qiye_1文件夹中的webstar文件夹上传到存放企业公司网站的根目录下之后,打开企
业公司网站首页文件代码,在代码的最下方加入如下代码:

这样,就可以完成本网站统计模块的添加了。
9.2  设计网站的具体结构
了解网站的结构可以达到控制文件管理的目的。通过了解网站结构,可以知道网站和浏
览者之间的操作将如何相互影响,并利用先进的后台技术,让浏览者和网站之间的交互过程
不留痕迹地变得更加强大和有效。
9.2.1  系统功能分析与设计
使用分布实施的电子商务解决方案,可以在实现各种现代化管理的同时,为企业公司构
建全新实效的电子商务新模式,将企业公司的相关业务进行重组,从而完成一体化的企业公
司管理信息系统。
针对企业公司用户的需求,统一标准的数据接口和先进的web开发技术,将为企业公司
创造一种新型的、不受地域、时间和计算机本身约束的信息交流、共享和协作方式。
前台系统创建过程主要实现注册用户发布信息的搭建,下面介绍一下各个模块的功能。
(1) 公司注册模块。
● login/register.asp ● login/register_confirm.asp
● login/login.asp ● login/login_check.asp
(2) 商业论坛子模块。

 
 
195
网站开发员职业人必读
设计自己的企业公司网站
 
● syjh/list.asp ● syjh/business_info.asp
● syjh/publish_info.asp ● syjh/save_info.asp
(3) 产品子模块。
● spzs/default.asp          ● spzs/show_product.asp
● spzs/showing.asp       


;  ● spzs/add.asp
● spzs/save_add.asp
(4) 库模块。
● qybl/list.asp                          ● qybl/index.asp
(5) 商业服务、新闻中心及网上营销子模块。
● qyfw/qysw.asp           ● news/news.asp
● wlyx/onlinesales.asp
公司后台管理人员可以管理以上所提到的功能栏目:添加信息类别、添加信息、维护产
品目录和管理客户等。具体的功能如下:
(1) 管理员登录模块。
● admin/default.asp         ● admin/check.asp
(2) 会员管理模块。
●admin/user/default.asp ●admin/company/attribute.asp
●admin/user/edit.asp ●admin/user/save.asp
(3) 商业机会管理模块。
● admin/commerce/default.asp             ● admin/commerce/edit.asp
● admin/commerce/save_edit.asp
(4) 产品管理模块。
● admin/product/default.asp                ● admin/product/edit.asp
● admin/product/save_edit.asp
(5) 库管理模块。
● admin/company/default.asp               ● admin/company/edit.asp
● admin/company/save.asp
(6) 商业服务、新闻中心和网上营销子模块。
● admin/qyfw/default.asp                 ● admin/news/default.asp
(7) 行业分类管理。
● admin/sort/sort.asp                      ● admin/sort/admin_class_ok.asp
● admin/sort/type.asp
9.2.2  具体的代码分析
在熟悉网站的主要功能之后,还需要对各个单一模块进行详细设置。在根据网站需求设
计某一模块时,要从整体上对各个模块进行协调。例如:宏观定义在多个模块使用的同一代
码段,在子模块中只需调用即可,从而尽可能地减少代码设置的繁杂、重复,以实现代码的
清晰化和调理化。

 
 
196
第9章
 
   asp.net+sql数据库案例精粹
1.用户注册验证页面login/register_confirm.asp的代码
此页面实现了用户注册的具体功能。用户可以在此页面注册成为网站的会员,以拥有更
多的使用权限。具体的代码如下:
<% " 创建记录集对象
set rs=server.createobject ("adodb.recordset")
" 用户信息并查看用户名是否被注册
sql="select * from qyml where user=""&request("user")&"""
rs.open sql,conn,1,3
if not rs.eof then
%>

 
  
 


该户名已经存在,请点击返回按钮,重新填写用户名。
type="button" value="返回" onclick="gohist(-1)">

   

<%else%>
<% " 企业公司信息并查看企业公司名称是否被注册
set myrs=server.createobject ("adodb.recordset")
mysql="select * from qyml where qymc=""&request("qymc")&"""
myrs.open mysql,conn,1,3
if not myrs.eof then
%>

 
   
 
您的公司信息已经存在,请
不要重复提交。登录系统!

   

<%
else
" 若没有注册则增加用户信息
rs.addnew
rs("user")=request.form("user")
rs("pass")=request.form("pass")
rs("question")=request.form("question")
rs("answer")=request.form("answer")

 
 
197
网站开发员职业人必读
设计自己的企业公司网站
 
rs("qymc")=request.form("qymc")
rs("qylb")=request.form("qylb")
rs("qyxz")=request.form("qyxz")
rs("zczj")=request.form("zczj")
rs("frdb")=request.form("frdb")
rs("ygrs")=request.form("ygrs")
rs("zh")=request.form("zh")
rs("bank")=request.form("bank")
rs("nyye")=request.form("nyye")
rs("zycp")=request.form("zycp")
rs("qyjj")=request.form("qyjj")
rs("sf")=request.form("sf")
rs("city")=request.form("city")
rs("sortid")=request.form("sortid")
rs("typeid")=request.form("typeid")
rs("post")=request.form("post")
rs("address")=request.form("address")
rs("phone")=request.form("phone")
rs("fax")=request.form("fax")
rs("email")=request.form("email")
rs("web")=request.form("web")
rs("name")=request.form("name")
rs("ch")=request.form("ch")
rs("bm")=request.form("bm")
rs("zw")=request.form("zw")
rs("hybz")=request.form("hybz") 
rs.update
" 关闭记录集对象
rs.close
set rs=noting
" 关闭数据库连接对象
conn.close
set conn=nothing         
%>
2.用户登录验证页面login/login_check.asp的代码
当用户注册为会员之后,即可通过此页面验证注册信息是否可以登录。若注册信息成功,
则表明可以成功登录;若登录失败,则跳转到default.asp页面。具体的代码如下:
<%@ language=vbscript %>
<% " 打开浏览器和代理的缓冲功能
response.expires=true

 
 
198
第9章
 
   asp.net+sql数据库案例精粹
" 缓冲页输出
response.buffer = true 
%>


会员登录

<%
dim usernameget,passwordget
dim rs,sql
" 接收提交的表单数据
usernameget=request.form("usernameget")
passwordget=request.form("passwordget")
" 查看用户是否存在
sql="select * from qyml where [user]=" "&usernameget&" " and pass=" "&passwordget&" " "
set rs= server.createobject("adodb.recordset") 
rs.open sql,conn,1,1
if rs.eof then
" 用户不存在则跳转到default.asp页面
  response.redirect ("…/default.asp?login=1")
  rs.close
  response.end
else 
  session("id")=rs("id")
  session("user")=rs("user")
  session("pass")=rs("pass")
  session("question")=rs("question")
  session("answer")=rs("answer")
  session("sortid")=rs("sortid")
  session("typeid")=rs("typeid")
  session("qymc")=rs("qymc")
  session("qylb")=rs("qylb")
  session("qyxz")=rs("qyxz")
  session("zczj")=rs("zczj")
  session("frdb")=rs("frdb")
  session("ygrs")=rs("ygrs")
  session("zh")=rs("zh")
  session("bank")=rs("bank")
  session("nyye")=rs("nyye")
  session("zycp")=rs("zycp")

 
 
199
网站开发员职业人必读
设计自己的企业公司网站
 
  session("qyjj")=rs("qyjj")
  session("sf")=rs("sf")
  session("city")=rs("city")
  session("post")=rs("post")
  session("address")=rs("address")
  session("phone")=rs("phone")
  session("fax")=rs("fax")
  session("email")=rs("email")
  session("web")=rs("web")
  session("name")=rs("name")
  session("ch")=rs("ch")
  session("bm")=rs("bm")
  session("zw")=rs("zw")
  session("flag")=rs("flag")
  select case request("pageid")
         case "home"  " 跳转到本站首页
               response.redirect ("…/default.asp")
               response.end
         case "syjh"  " 跳转到商业机会
               response.redirect ("…/syjh/syjh.asp")
               response.end   
         case "spzs"  " 跳转产品展厅
               response.redirect ("…/spzs/showing.asp")
               response.end
         case "xxfb"  " 跳转信息发布
               response.redirect ("…/syjh/publish_info.asp")
               response.end
         case "modify"  " 会员信息修改
               response.redirect ("modify_info.asp")
               response.end
         case "chengxin"  " 会员信息修改
               response.redirect ("chengxin.asp")
               response.end
         case else
               response.redirect ("…/default.asp")
               response.end
  end select
  rs.close  
  set rs=nothing 
  conn.close

 
 
200
第9章
 
   asp.net+sql数据库案例精粹
  set conn=nothing 
end if
%>


3. 商业机会显示页面syjh/list.asp的代码
此段代码显示了企业公司的信息记录、产品的信息记录、商业发展的一些前瞻等,便于
用户对商业信息的整体把握。具体的代码如下:

<%
" 定义一页显示的信息条数
const maxperpage=10
const max=2
const maxtj=10
dim totalput   
dim currentpage
dim totalpages
dim zsrs
dim zssql
dim i,j
dim keyword
" 接收提交的表单数据
keyword=request("txtitle")
abc=request("type")
dim datetime
if not isempty(request("datetime")) then
&n


bsp;  datetime=cint(request("datetime"))  
else
   datetime=""
end if
if not isempty(request("page")) then
   currentpage=cint(request("page"))
else
   currentpage=1
end if
if not isempty(request("sortid")) then
   sortid=request("sortid")
else
   sortid=""
end if

 
 
201
网站开发员职业人必读
设计自己的企业公司网站
 
if not isempty(request("typeid")) then
   typeid=request("typeid")
else
   typeid=""
end if
set rssort=server.createobject("adodb.recordset")
" 取得一级栏目信息 
sortsql="select * from class_1 where sortid="&cstr(sortid)&""
rssort.open sortsql,conn,1,1
sortname=rssort("sort")
set rstype=server.createobject("adodb.recordset") 
" 取得二级栏目信息
typesql="select * from class_2 where sortid="&cstr(sortid)&""
rstype.open typesql,conn,1,1
typename1=rstype("typename")
rstype.close
set rszs= server.createobject("adodb.recordset")
" 取得产品记录信息
zssql="select * from spzs" 
zssql=zssql &" where flag=1"
if sortid<>"" then
   zssql=zssql &" and sortid="&sortid&""
end if
if typeid<>"" then
   zssql=zssql &" and typeid="&typeid&""
end if
zssql=zssql &" order by id desc" 
rszs.open zssql,conn,1,1 
set rstj=server.createobject("adodb.recordset") 
" 取得企业公司信息记录
tjsql="select * from qyml" 
tjsql=tjsql &" where tjbz like " %02%" "
if sortid<>"" then
   tjsql=tjsql &" and sortid="&sortid&""
end if
if typeid<>"" then
   tjsql=tjsql &" and typeid="&typeid&""
end if
tjsql=tjsql &" order by id desc" 
rstj.open tjsql,conn,1,1

 
 
202
第9章
 
   asp.net+sql数据库案例精粹
%> 




您的位置:首页>> 商业机会 >> href="default.asp?sortid=<%=sortid%>"><%=sortname%> >> <%=typename1%>

<% 
set rs= server.createobject("adodb.recordset") 
" 取得商业信息记录
sql="select * from info" 
sql=sql &" where (showname like " %"&request("searchtext")&"%" "
sql=sql &" or content like " %"&request("searchtext")&"% ")"
if sortid<>"" then
   sql=sql &" and sortid="&sortid&""
end if
if typeid<>"" then
   sql=sql &" and typeid="&typeid&""
end if
if datetime<>"" then
   sql=sql &" and dateandtime>=date()-"&cint(request("datetime"))&""
end if
if abc<>"" then
   sql=sql &" and type=" "&abc&" " "
end if
sql=sql &" and flag=1 order by dateandtime desc"
" 打开记录集对象 
rs.open sql,conn,1,1 
  if rs.eof and rs.bof then 
" 若无商业机会信息
      response.write "




对不起,没有您要查询的信息,
点击这里发布信息!






"
   else 
" 取得记录信息数目
       totalput=rs.recordcount 
       if currentpage<1 then 
          currentpage=1 
       end if 
       if (currentpage-1)*maxperpage>totalput then 
          if (totalput mod maxperpage)=0 then 

 
 
203
网站开发员职业人必读
设计自己的企业公司网站
 
             currentpage= totalput maxperpage 
          else 
             currentpage= totalput maxperpage + 1 
          end if 
      end if 
    if currentpage=1 then
" 使用分页函数
       showpage totalput,maxperpage,"search.asp" 
" 调用记录信息函数
       showcontent 
       content
    else 
          if (currentpage-1)*maxperpage" 转到另外页
            rs.move  (currentpage-1)*maxperpage 
            dim bookmark 
            bookmark=rs.bookmark
" 调用分页函数 
            showpage totalput,maxperpage,"search.asp"
" 调用信息记录函数
            showcontent 
            content
          else 
" 若分页数大于默认总页数则默认为第一页
            currentpage=1 
            showpage totalput,maxperpage,"search.asp"
            showcontent     
            content
          end if 
    end if 

   rs.close 
   end if 
   set rs=nothing
" 关闭数据库连接对象
   conn.close
   set conn=nothing 
" 定义信息记录显示函数
   sub showcontent 
   dim i 

 
 
204
第9章
 
   asp.net+sql数据库案例精粹
   i=0 
" 循环显示记录信息
  do while not rs.eof
%> 

<%
    <% i=i+2 
" 每页控制显示最大记录数
          if i>=maxperpage then exit do 
          rs.movenext 
          loop 
end sub
" 定义分页函数
function showpage(totalnumber,maxperpage,filename) 
  dim n 
  if totalnumber mod maxperpage=0 then 
     n= totalnumber maxperpage 
  else 
     n= totalnumber maxperpage+1 
  end if 
 response.write "

"
%>


 
 
      
     >
     >
    
      
    
显示:
全部


代理
合作

 
 
205
网站开发员职业人必读
设计自己的企业公司网站
 
      


      
<%
" 若页数小于2则默认为第一页
  if currentpage<2 then 
  response.write ""
  response.write "bordercolordark=#ffffff>"
  response.write ""
  response.write ""
  response.write "
"
  response.write  ""&n&" 页   第 red>"¤tpage&"页"
  response.write " 共查询到"&totalnumber&"条信息
"
  response.write "
"
  response.writ


e "【最前页】【上一页】"
" 若页数大于2则分为上页和下页 
  else 
  response.write ""
  response.write ""
  response.write ""
  response.write ""
  response.write ""
  response.write ""
  response.write "
"
  response.write  ""&n&" 页   第
"¤tpage&"页" 
  response.write " 共查询到"&totalnumber&"条信息
"
  response.write "
"
  response.write "【"&keyword&"&datetime="&datetime&"&type="&abc&">最前页】" 
    response.write "【"&typeid&"&txtitle="&keyword&"&datetime="&datetime&"&type="&abc&">上一页】" 
  end if 
" 若到最后一页
  if n-currentpage<1 then 
    response.write "【下一页】【最后页】" 
  else 
    response.write "【"&typeid&"&txtitle="&keyword&"&datetime="&datetime&"&type="&abc&">" 
    response.write "下一页
】【

 
 
206
第9章
 
   asp.net+sql数据库案例精粹
"&typeid&"&txtitle="&keyword&"&datetime="&datetime&"&type="&abc&">最后页
】" 
  end if 
  response.write "" 
  response.write "

"
" 函数结束
  end function
" 定义信息显示函数
  sub content
%>
4. 行业产品信息展示页面spyz/default.asp的代码
此页面规定了行业信息展示的具体条件、具体方式,只有在符合条件的情况下,才能正
常显示产品信息。具体的代码如下:
" 若有要求显示的栏目编号则按要求显示
   if request("typeid")<>0  then
      sql="select * from spzs where cpmc like "%"&request("txtitle")&"%" and sortid="+cstr (sortid)+"
and typeid="+cstr(typeid)+" order by id desc"
  " 若无则显示全部记录
 else
      sql="select * from spzs where cpmc like "%"&request("txtitle")&"%" and sortid="+cstr (sortid)+"
order by id desc"
   end if
   set rs= server.createobject("adodb.recordset") 
   rs.open sql,conn,1,1 
     if rs.eof and rs.bof then 
        response.write "






对不起,没有您要查
询的产品信息,点击这里继续查看其它产品!






"
" 若记录为空 
      else 
" 取得记录总数
           totalput=rs.recordcount 
" 分页若小于1则默认为第一页
           if currentpage<1 then 
              currentpage=1 
           end if 
           if (currentpage-1)*maxperpage>totalput then 
              if (totalput mod maxperpage)=0 then 
   currentpage= totalput maxperpage 

 
 
207
网站开发员职业人必读
设计自己的企业公司网站
 
              else 
  currentpage= totalput maxperpage + 1 
              end if 
           end if 
           if currentpage=1 then
" 调用记录信息函数 
              showcontent
" 调用分页函数 
              showpage totalput,maxperpage,"default.asp"
          else 
               if (currentpage-1)*maxperpage" 跳转到某页 
                  rs.move  (currentpage-1)*maxperpage 
                  dim bookmark 
                  bookmark=rs.bookmark 
                  showcontent 
                  showpage totalput,maxperpage,"default.asp"
                else
 " 分页数若大于总页数则默认为第一页
                  currentpage=1 
                  showcontent 
                  showpage totalput,maxperpage,"default.asp"
                end if 
           end if 
         end if
" 关闭记录集对象 
   rssort.close     
   set rssort=nothing
" 关闭数据库连接对象
   conn.close
   set conn=nothing
" 定义信息记录显示函数 
sub showcontent    
%>  
… 
<%
end sub
" 定义分页显示函数
function showpage(totalnumber,maxperpage,filename) 
    dim n 

 
 
208
第9章
 
   asp.net+sql数据库案例精粹
    if totalnumber mod maxperpage=0 then 
       n= totalnumber maxperpage 
    else 
       n= totalnumber maxperpage+1 
    end if 
response.write"
 response.write "

"&typename&"
" 若页数小于2
   if currentpage<2 then 
       response.write ""
       response.write ""
       response.write ""
       response.write ""
       response.write ""
       response.write ""
       response.write ""
       response.write ""
  response.write ""
  response.write "

"
       response.write "共"&n&"页 第"¤tpage&"页 "
       response.write "共查询到"&totalnumber&" 种产品
"   
       response.write "
"
       response.write "【最前页】【上一页】" 
  else 
       response.write  "cellpadding=0>"
       response.write "
"
       response.write "共"&n&"页 第"¤tpage&"页 " 
       response.write "共查询到"&totalnumber&" 种产品
"   
       response.write "
"
       if (request("typeid"))<>0  then
       response.write "【typeid&"&txtitle="&keyword&">最前页&


lt;/a>】" 
       response.write "【
上一页】" 
       else
       response.write "【keyword&">最前页】" 
       response.write "【上一页】" 
       end if
 end if

 
 
209
网站开发员职业人必读
设计自己的企业公司网站
 
" 若到最后一页 
  if n-currentpage<1 then 
      response.write "【下一页】【最后页】" 
  else 
      if (request("typeid"))<>0  then
      response.write "【
      response.write "下一页
】【最后页】" 
      else
     response.write "【
      response.write "下一页
】【最后页】" 
      end if
  end if 
  response.write ""      
  response.write "

"
" 函数结束
end function
%>

5. 行业公司信息页面qybl/list.asp的代码
此段代码设置了公司信息页的具体显示方式,利用创建记录集可取得企业公司信息,利
用记录信息函数可设置信息的分页显示方式。具体的代码如下:
<% " 创建记录集对象
set rs= server.createobject("adodb.recordset") 
sql="select * from qyml" 
sql=sql &" where (qymc like "%"&request("searchtext")&"%""
sql=sql &" or qylb like "%"&request("searchtext")&"%")"
if sortid<>"" then
   sql=sql &" and sortid="&sortid&""
end if
if typeid<>"" then
   sql=sql &" and typeid="&typeid&""
end if
if cityid<>"" then
   sql=sql &" and cityid="&cityid&""

 
 
210
第9章
 
   asp.net+sql数据库案例精粹
end if
sql=sql &" order by id desc" 
rs.open sql,conn,1,1 
  if rs.eof and rs.bof then 
       response.write  "



对不起,没有您要查询的信息,href="javascript:history.go(-1)">点击这里返回!




" 若记录集为空
   else 
       totalput=rs.recordcount 
       if currentpage<1 then 
          currentpage=1 
       end if 
       if (currentpage-1)*maxperpage>totalput then 
          if (totalput mod maxperpage)=0 then 
            currentpage= totalput maxperpage 
         else 
            currentpage= totalput maxperpage + 1 
         end if 
      end if 
      if currentpage=1 then 
         showpage totalput,maxperpage,"search.asp" 
         showcontent 
         content
      else 
            if (currentpage-1)*maxperpage" 跳转到某页 
            rs.move  (currentpage-1)*maxperpage 
            dim bookmark 
            bookmark=rs.bookmark
" 调用分页函数 
            showpage totalput,maxperpage,"search.asp"
" 调用记录集信息函数
            showcontent 
            content
          else
" 分页数如果大于总页数则默认为第一页 
            currentpage=1
" 调用分页函数 
            showpage totalput,maxperpage,"search.asp"
" 调用记录信息函数

 
 
211
网站开发员职业人必读
设计自己的企业公司网站
 
            showcontent
            content
          end if 
     end if 
" 关闭记录集对象 
   rs.close 
 end if 
 set rs=nothing
" 定义信息记录显示函数 
 sub showcontent 
   dim i 
   i=0 
%>  
<%do while not rs.eof%>
9.3  数据库结构设计
网站系统的设计中,数据库设计起着举足轻重的作用。在设计数据库时,最重要的是要
确保数据正确分布到数据库表中。
9.3.1  数据库需求分析
只有对数据库的需求进行分析,才能了解数据库具体要实现的功能,并对各子模块进行
详细的规划,从而让数据库最大限度地发挥作用。数据项和数据结构如下:
● 公司表:id(自动编号)、用户名、密码、公司名称、公司类型、公司产品、公司介绍、
省份、城市、邮编、地址、电话、传真和时间等。
● 商业机会表:info_id(自动编号)、标题、标题类型、有限期、内容、联系人、公司名
称、通讯地址和联系方式等。
● 产品展示表:id(自动编号)、产品编号、产品名称、产品商标、产品产地价格和公司
信息等。
● 行业分类表:自动编号和行业名称等。
9.3.2  数据库逻辑设计
数据库需求分析影响着数据表的建立,只有将数据库需求与数据表联系起来,才能合理、
有效地建立一个实用的数据表。根据需求分析建立了公司表qyml、商业机会表info、产品展
示表spzs、行业大类分类表class_1和行业小类分类表class_2等之后,下面简单讲述各个数
据表的数据结构。
(1) 公司表qyml的数据结构如表9-1所示。

 
 
212
第9章
 
   asp.net+sql数据库案例精粹
表9-1  公司表qyml的数据结构
列  名 数 据 类 型 长  度/b 允 许 空
id int 4 n
[user] nvarchar 16 y
pass nvarchar 16 y
question nvarchar 50 y
answer nvarchar 50 y
qymc nvarchar 50 y
qylb nvarchar 50 y
qyxz nvarchar 50 y
zczj nvarchar 50 y
frdb nvarchar 50 y
ygxs int 4 y
zh nvarchar 50 y
bank nvarchar 16 y
nyye int 10 y
zycp nvarchar 15 y
qyjj ntext 6 y
sf nvarchar 50 y
city nvarchar 50 y
post nvarchar 20 y
address nvarchar 50 y
phone nvarchar 50 y
fax nvarchar 20 y
email nvarchar 50 y
web nvarchar 50 y
name nvarchar 50 y
ch nvarchar 10 y
bm nvarchar 10 y
zw int 20 y
sortid int 4 y
typeid nvarchar 4 y
tjbz bit 50 y
hybz int 1 y
flag int 4 y
cflag int 4 y
uflag smalldatetin 4 y
begindate smalldatetin 4 y
enddate int 4 y
counter int 4 y
注:“n”为否,“y”为是。

 
 
213
网站开发员职业人必读
设计自己的企业公司网站
 
(2) 商业机会表info的数据结构如表9-2所示。
表9-2  商业机会表info的数据结构
列  名 数 据 类 型 长  度/b 允 许 空
info_id int 4 n
showname nvarchar 50 y
type nvarchar 100 y
period nvarchar 16 y
content ntext 4 y
sortid int 4 y
typeid int 20 y
linkman nvarchar 50 y
company nvarchar 50 y
address nvarchar 50 y
mail nvarchar 50 y
phone nvarchar 50 y
fax nvarchar 50 y
postcode nvarchar 50 y
web nvarchar 50 y
country nvarchar 50 y
city nvarchar 50 y
dateandtime smalldatetin 4 y
gsid int 4 y
flag int 4 y
注:“n”为否,“y”为是。
(3) 产品展示表spzs的数据结构如表9-3所示。
表9-3  产品展示表spzs的数据结构
列  名 数 据 类 型 长  度/b 允 许 空
id int 4 n
cphh nvarchar 50 y
cpmc nvarchar 50 y
sccj nvarchar 50 y
cpcd nvarchar 50 y
cpjg nvarchar 50 y
picture nvarchar 50 y
jysm next 16 y
xxsm next 16 y
web nvarchar 50 y

 
 
214
第9章
 
   asp.net+sql数据库案例精粹
续表    
列  名 数 据 类 型 长  度/b 允 许 空
email nvarchar 50 y
address nvarchar 50 y
sf nvarchar 50 y
city nvarchar 50 y
phone nvarchar 50 y
fax nvarchar 50 y
lxr nvarchar 50 y
postcode nvarchar 6 y
sortid int 4 y
gsid int 4 y
typeid int 4 y
zsbz nvarchar 50 y
flag int 4 y
注:“n”为否,“y”为是。
(4) 行业大类分类表class_1的数据结构如表9-4所示。
表9-4  行业大类分类表class_1的数据结构
列  名 数 据 类 型 长  度/b 允 许 空
sotrid int 4 n
sort nvarchar 50 y
注:“n”为否,“y”为是。
(5) 行业小类分类表class_2的数据结构如表9-5所示。
表9-5  行业小类分类表class_2的数据结构
列  名 数 据 类 型 长  度/b 允 许 空
typeid int 4 n
typename nvarchar 50 y
sortid int 4 y
注:“n”为否,“y”为是。
9.4  可能出现的问题与解


决方法
(1) 是否可以使用application对象的contents集合读取所有application变量?
解决方法:无论application对象所记录的是一般的变量还是数组,只要不属于对象,都
可以通过contents集合来读取所有application变量。具体的代码如下:

 
 
215
网站开发员职业人必读
设计自己的企业公司网站
 
<%
" 定义一个数组
dim array(3)
array(0)= "首页设计内容"
array(1)= "网页设计"
array(2)= "flash网页设计高手"
array(2)= "asp与网页数据库存设计"
" 使用application对象记录一般的变量及数组
dim author, publisher, titles
application("***")="****"
application("***")="****"
application("***")="****"
application("***")=array
" 读取所有application变量
dim strname, i
for each strname inapplication.contents
   if  isarray(application(strname)) then
     for i = lbound(application(strname)) to ubound(application(strname))
      response.write application(strname)(i) & "
"
    next
  else
   response.write application(strname) & "
"
  end if
 next
%>
(2)  asp文件包含子文件时,系统提示active server pages错误“asp01310”不允许的父路径。
解决方法:当出现这种情况时,用户只要打开iis,右击“默认网站”项,并在弹出的快捷
菜单中执行【属性】任务项,在打开的对话框中点选【主目录】→【配置】→【选项】任务
项之后,再在如图9-12所示的对话框中勾选“启用父路径”复选项即可。
 
图9-12  【应用程序配置】对话框

 
 
216
第9章
 
   asp.net+sql数据库案例精粹
 
9.5  总结与经验积累
在网站的建设中,针对信息化进程速度不同的问题,网站提供了分步实现的电子商务解
决方案,并且根据企业需求,采用同一标准的数据接口和先进的web开发技术,创造了一种
新的不受地域、时间和计算机本身约束的信息交流、共享和协作方式,实现了网站强大的企
业管理与统计功能。
本章具体讲解了如何创建一个简单且功能齐全的企业公司网站。在创建网站的过程中可
以发现:一个网站的创建要经过总体的系统规划、基本的iis的配置、数据库的建立与设计、
相关功能模块的设计、语言的简练合理性等。这就要求网站开发者全面掌握各种知识,并将
其合理地应用和搭配,才能最终组建出一个完善的企业公司网站。 



上一篇:设计自己的电子政务网站
下一篇:会员加入与登录模块的嵌入