zoukankan      html  css  js  c++  java
  • ASP入门学习(一)准备阶段 全新时代

    Asp动态服务器页面,是使用IIS部署运行的脚本语言。开发语言主要是VBScript语法。下面主要说说开发asp程序需要注意的地方和与数据库连接的基本代码格式,inc包含文件,函数,过程定义,页面编码格式设置等。

    一 准备工作

    1.开发asp IDE软件:推荐使用ASP Studio 版本1.45

    2.设置IE脚本调试模式,方便查询IIS抛出的服务器端错误信息,否则只会显示简单的Http 500 服务器内部错误等。不方便程序的调试。

    IE ->工具 ->Internet选项 ->高级 ->禁用脚本调试(Internet Explorer)不选(默认是选择状态)。

    3.IIS安装,推荐安装版本6.0。

    开始 ->控制面板 ->添加或删除程序 ->添加或删除Windows组件 ->选择Internet信息服务(IIS) ->下一步,直到安装成功。

    4.IIS设置。

    开始 ->控制面板 ->性能和维护 ->管理工具 ->Internet 信息服务
    1.创建虚拟目录
     默认网站 ->右击 ->新建 虚拟目录
    2.设置根目录
     默认网站 ->属性 ->主目录(指定本地路径)
     默认网站 ->属性 ->网站(指定IP地址,提供本地局域网测试使用,默认为localhost,端口80)
    3.浏览
     选择需要浏览的页面 ->右击 ->浏览打开。

    二 场景分析

    查询显示数据库中大类型和小类型信息,已菜单的格式显示出来。ASP+Access数据库。

    三 代码开发

    inc.asp

    <%
        '请在这里输入您的ASP代码
        response.Write("这一行是inc包含文件输出的内容!<br/>")
    %>

    conf.asp

    <%
        '请在这里输入您的ASP代码
        '定义函数
        function TD_productsclass()
            TD_productsclass="这个是function函数定义返回值!<br/>"
        end function
    
        '定义过程
        sub ShowArticleContent()
            dim PaginationType
            PaginationType=2
            select case PaginationType
            case 0 
                call DefaultPagination() '无内容分页格式
            case 1 
                call AutoPagination()    '自动内容分页
            case 2 
                call ManualPagination()  '按定义分页
            end select
        end sub
        
        sub DefaultPagination()
            response.Write("sub无内容分页格式<br/>")
        end sub
        
        sub AutoPagination()
            response.Write("sub自动内容分页<br/>")
        end sub
        
        sub ManualPagination()
            response.Write("sub按定义分页<br/>")
        end sub
    %>

    conn.asp

    <%
    'conn
    '准备工作
    dim conn 
    dim connstr
    dim path 
    path = server.mappath("\OneFCMS_Data\OneFCMS.mdb")
    response.Write(path & "<br/>")
    'on error resume next
    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&path
    set conn=server.createobject("ADODB.CONNECTION")
    conn.open connstr
    If Err Then
      err.Clear
      Set Conn = Nothing
      Response.Write "数据库连接出错,请检查数据库连接文件中的数据库参数设置。"
      Response.End
    End If 
    %>

    index.asp

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  
    <%Response.CodePage=65001%>  
    <%Response.Charset="utf-8"%>
    <!--#include file="inc.asp"--> 
    <!--#include file="conf.asp"--> 
    <!--#include file="conn.asp"-->
    <HTML>
    <HEAD>
        <Title>index.asp</Title>
        <META http-equiv="Content-Type" content="text/html; charset=utf-8">
        <META name="Generator" content="Asp Studio 1.0">
    </HEAD>
    
    <BODY>
    
    <!-- 请在这里输入您的HTML代码 -->
    <%=TD_productsclass%>
    <%call ShowArticleContent()%>
    <%
        '请在这里输入您的ASP代码
        dim BigClassID  '不能直接赋予值
        BigClassID = 5
        if  not isnumeric(BigClassID) then
            Response.Write "<script>alert('警告!请勿尝试注入!');history.go(-1);</script>" 
            Response.End()
        end if
     
        '第一步:创建对象
        set rs1=server.CreateObject("adodb.recordset")
        '第二步:打开连接,执行数据库查询语句
        rs1.open "select * from [bigClass] order by px_id asc",conn,1,1
        if rs1.eof and rs1.bof then
            response.Write("&nbsp;暂无记录 !")
        end if
        '第三步:判断记录集是否到达结尾
        if not rs1.eof then
        '第四步:数据的读取和操作
            for i=1 to rs1.recordcount
                '查询该大类下面的小类
                set rs2=server.createobject("adodb.recordset") 
                exec="select * from [smallclass] where BigClassID="&rs1("BigClassID")&" order by px_id asc  " 
                rs2.open exec,conn,1,1 
                response.Write("<br/><a href='xxx?bigId=" & rs1("BigClassID") & "' title=" & rs1("BigClassName") &">" &rs1("BigClassName") & "</a>")
                '循环输出该小类的信息
                '#################################
                do while not rs2.eof
                    response.Write("<br/>---<a href='xxx?smallId=" & rs2("SmallClassID") & "' title=" & rs2("SmallClassName") & ">" & rs2("SmallClassName")& "</a>")
                    rs2.movenext
                loop
                rs2.close
                set rs2=nothing
                '#################################
            'response.Write("<br/>")    
            rs1.movenext                     '大类移动到下一条。
            next
        end if
        '第五步:数据库对象的关闭和资源回收
        rs1.close
        set rs1=nothing
    %>
        
    </BODY>
    
    </HTML>

     四 数据库表

    bigClass表

    ####################

    1.BigClassID

    2.BigClassName

    3.px_id

    ####################

    smallClass表

    ####################

    1.SmallClassID

    2.SmallClassName

    3.BigClassID

    4.px_id

    ####################

  • 相关阅读:
    几道php基础面试题
    【转载】VMware下LINUX的虚拟机增加磁盘空间
    【转载】给VM虚拟机增加硬盘容量
    虚拟机扩大硬盘的方法
    【转载】Linux i386+源码中常见宏标识tag的定义
    【转载】Linux下编辑生成.mo文件
    【转载】解决 Subversion 的 “svn: Can't convert string from 'UTF-8' to native encoding” 错误
    【转载】Ubuntu下SVN安装和配置
    【转载】关于shell中的basename
    tar的-t参数使用
  • 原文地址:https://www.cnblogs.com/simpledev/p/3006664.html
Copyright © 2011-2022 走看看