• asp相关知识整理


    WWW----World Wide Web(万维网
    URL----Uniform Resource Locator(统一资源定位符
    HTTP----Hyper Text Transfer Protocol(超文本传输协议
    HTML----Hyper Text Markup Language(超文本标记语言
    XML----Extensible Markup Language(可扩展标记语言
    ODBC----Open DataBase Connectivity(开放数据库连接标准
    DLL----Dynamic Link Library(动态链接库
    DAO----Data Access Objects(数据连接对象
    RDO----Remote Data Objects(远程数据对象
    ADO----Microsoft ActiveX Data Objects(动态数据对象
    SQL----Structured Query Language(结构化查询语言
    CGI----Common Gateway Interface(公共网关接口
    API----Application Programming Interface(应用程序编程接口
    ASP----Active Server Pages(动态服务页面
    PHP----Personal HomePage(个人主页
    JSP----Java Server Pages 
    ColdFusion 
    SSI----Server-Side Include(服务器端包含
    DOM----Document Object Model(文档对象模型
    IIS----Internet Information Server(网络信息服务
    IP----Internet Protocol(网际协议
    TCP----Transmission Control Protocol(传输控制协议
    IE----Internet Explorer(浏览器
    CSS----Cascading Style Sheet(层叠式样式表
    VBScript----Microsoft Visual Basic Script Edition 
    ISDN----综合业务数字网 
    Web 
    FTP 
    SMTP 
    MMC----管理控制台

     

    网页设计前述

    Web(万维网)提供了一个图形化用户界面,一浏览Internet上的文档,这些文档以及它们之间的链接构成了一个庞大的信息网。 
    Web起源于19893月,是由欧洲量子物理实验室CERN(the Ruropean Laboratory for Particle Physics)开发的主从结构分布超媒体系统。 
    Web是信息资源的海洋,三个要素保证了人们能够方便地在这海洋中遨游: 
    统一的资源命名方案(URL) 
    访问某一资源的方式,即协议(HTTP) 
    在资源之间自由访问的方法,即超文本(HTTP) 
    Internet发展到现在,Web技术经历了3个发展阶段: 
    第一代,提供对静态文档(信息)的管理和访问(显示) 
    第二代,与数据库系统相结合,提供对动态文档(信息)的访问和显示 
    第三代,除动态文档生成和访问之外,还提供基于Web的联机事务处理能力。

     

    静态网页存在的不足:

    1. 无法支持后台数据库 
    2. 无法有效的对站点信息进行及时的更新 
    3. 无法实现动态显示效果 
    ASPMicrosoft公司在1996年底推出的一种运行于服务器端的Web应用程序开发技术。ASP既不是一种语言,也不是一种开发工具,而是一种内含于IIS/PWS之中的易学易用,可以集成Script语言到HTML主页的服务器端的脚本语言环境,其主要功能是为生成动态的,交互的Web服务器应用程序提供一种功能强大的方式和技术。

     

    ASP的特点如下:

     

    1. ASP可以混用HTMLDHTMLJava小程序,ActiveX,VBScript,<I>javascript</I>,并且可以互相嵌套。 
    2. 不需编译,纯文本格式。 
    3. 安全性好 
    4. 面向对象 
    5. 可扩充服务器端功能 
    6. 可扩充脚本语言 
    7. 与浏览器无关 
    8. ASP提供6个内置的全局对象供开发者不需声明就可直接调用 
    9. ASP提供5个重要的服务器组件

     

    访问HTML页面的过程:

     

    1. 在客户端浏览器地址栏处输入HTML文件的URL地址,按回车键发送一个网页请求 
    2. 浏览器发送网页请求到IIS/PWS服务器 
    3. IIS/PWS服务器接收到请求,通过扩展名.htm.html判断是HTML文件的请求 
    4. IIS/PWS服务器将对应的HTML文件从磁盘或存储器中取出并送回浏览器 
    5. HTML文件由用户的浏览器解释,结果在浏览器的窗口显示

     

    访问ASP网页的过程:

     

    1. 在客户端浏览器的地址栏输入要请求的ASP文件的URL地址,按回车键发送一个ASP请求 
    2. 浏览器向IIS/PWS服务器发送ASP网页请求 
    3. IIS/PWS服务器收到请求并根据扩展名.asp识别出ASP文件 
    4. IIS/PWS服务器从磁盘或内存中获取相应的ASP文件 
    5. IIS/PWS服务器将ASP文件发送到一个类似于发动机引擎的名为asp.dll的特定文件库中 
    6. asp.dll引擎将ASP文件从头至尾进行解释处理,并根据ASP文件中的命令要求生成相应的动态HTML页面 
    7. HTML页面被送回客户端浏览器 
    8. 用客户端浏览器解释执行HTML网页,并将结果显示在客户端浏览器上

     

    HTML相比,ASP具有3个重要特征:

     

    1. ASP可以包含服务器端脚本语言,即可以用动态内容创建网页 
    2. ASP使用内置对象可以使脚本功能更强大 
    3. ASP使用组件使用户可以处理数据库,发送email或访问文件系统等

     

    ASP提供的6个内置对象:

     

    1. Response:发送信息到浏览器 
    2. Request:用来读取来自浏览器的请求信息,可用该对象读取HTML表单的信息 
    3. Server:允许用脚本来生成Active Server组件的实例 
    4. Application:用来存储,读取用户共享的应用程序信息,如可以用该对象在网站的不同连接者之间传递共用信息 
    5. Session:用来存储,读取特定连接者的对话信息,如可以存储连接者对网站的访问信息 
    6. ObjectContext:用于控制ASP的交易(Transaction),交易由Microsoft Transaction Server(MTS)管理

     

    ASP提供的5个重要组件

     

    1. ADO:用于在Microsoft SQL Server,Microsoft Access数据库中读取或存储数据 
    2. File System:提供可用来访问计算机文件系统的方法和属性 
    3. Content Linking:根据不同浏览器的性能显示不同的HTML内容 
    4. Browser Capabilities:用来链接不同的HTML页面使其操作更简单 
    5. AD Rotator:用于在网页上显示横幅广告,并可控制不同广告的显示频率 

     

    ASP基本知识

     

    ASP文件的扩展名为.asp,其中可以包括HTML标记,文本和脚本语言,其脚本语言代码包含于”<%……%>”之间。 
    VBScript中:注释可以是Rem,’等 
    <% Option Explicit %>表示VBScript中的变量都要声明后才可使用,否则会出错。 
    文件包含:<!--#include file=”myfirstinc.inc”--> 
    <!--#include file=”myfirstasp.asp”--> 
    <!--#include file=”myfirsttxt.txt”-->

    认识VBScript脚本的基本用法: 
    1. 运算符 
    2. 数据类型 
    3. 常量,变量及数组 
    4. 条件语句(if….then end if, if….then….Else end if) 
    5. 循环语句(for….next, for each….next, do while…..loop) 
    6. 过程 
    7. 基本函数:分为数学类,字符串类,日期时间类,类型转换类,格式化类和判断类。 
    a) 数学类:abs(), sqr(),rnd(随机数),round(四舍五入)… 
    b) 字符串类:len(),left(),right(),mid(),strReverse(),split(),trim() 
    c) 日期时间类:DateValue(),TimeValue(),Year(),Month,Day(),Hour(),Minute(),Second(),DateSerial(),TimeSerial(),Date(),Time(),Now(),DatePart(),DateAdd(),DateDiff()… 
    d) 类型转换类:Cdate(),Cint(),Clng(),Cstr(),str(),Val(),Int(),Fix() 
    e) 格式化类:FormatDateTime,FormatNumber,FormatPercent…. 
    f) 判断类:IsDate,IsEmpty,IsNull,IsNumeric,IsObject… 
    g) 信息对话框函数:InputBox,MsgBox… 
    ASP内置对象说明: 
    Response: 
    语法格式:Response.集合|属性|方法(变量) 
    Response的属性有:Buffer,Charset,ContentType,Expires,ExpiresAbsolute,Status. 
    Response的方法有:AddHeader,AppendTolog,BinaryWrite,Clear,End,Flush,Redirect,Write 
    Response的集合:Cookie. 
    Request: 
    语法格式: 
    Request.集合(变量) 
    集合:Form,QueryString,ServerVariable,Cookie,ClientCertificate 
    1. Form:语法格式:Request.form(element)[(index).count].<%=request.form.count%>表单个数。<%=request.form(“name”)%> 
    2. QueryString:语法格式:Request.QueryString(variable)[(index)|.count] 
    3. ServerVariable:语法格式:Request.ServerVariable(服务器环境变量
    4. Cookie:语法格式:Request.Cookies(Cookie)[(key)|.attribute] 
    使用Cookies集合: 
    Response.Cookies(CookieName)[(key)|.attribute]=CookieValue 
    Request.Cookies(CookieName)[(key)|.attribute] 
    Application: 
    语法格式:Application.属性|方法|事件|集合 
    Application的方法:Lock(),UnLock() 
    Application的事件:Application_OnStart,Application_OnEnd 
    Application的集合:Contents,StaticObjects 
    Application的属性:Application(“变量名”)=变量名 或 Set Application(“对象实例名”)=对象 
    其实是定义全局变量,供多个用户使用。 
    实例名(反过来是还原) 
    Session: 
    语法格式:Session.方法|事件|集合|属性 
    Session方法:Abandon()用于清除Session对象<% Session.Abandon %> 
    Session事件:Session_OnStart,Session_OnEnd 
    Session集合:Contents,StaticObjects 
    Session属性:SessionID,Timeout 
    用户也可以自定义Session属性,其实是变量,就是我们前面说的会话变量。 
    Session(“VariableName”)=VariableName 
    Set Session(“ObjectName”)=ObjectName(反过来就是还原变量
    网页变量的生命周期与传递 
    全局变量,会话变量,网页变量 
    Request.QueryString集合在网页间传递变量 
    ASPApplicationSession对象在网页间传递变量。 
    SessionApplication的比较: 
    1. 两者都允许用户自定义属性,即定义Application变量和Session变量。 
    2. 两者都可以用于存取对象中的变量及对象实例 
    3. 两者都有生命周期。Session开始于新连接者第一次连接时,终止于连接者若干时间内没有索取过任何信息;Application开始于IIS/PWS开始执行且出现第一个连接者的时候,终止于若干时间内没有任何连接者索取过信息,或IIS/PWS关闭时。 
    4. 两者都是ASP文件共用的对象。Application对象是所有网页连接者共用的一个对象,Session对象是每位连接者独有的对象。 
    5. 两者都有OnStartOnEnd事件代码,但它们发生的时间不同。当一个Application应用程序与一个Session应用程序同时启动时,ASP会先执行Application_OnStart,接着才执行Session_OnStart;若在结束一个Session的同时结束Application应用程序,则会先执行Session_OnEnd,然后才执行Application_OnEnd. 
    Global.asa文件与应用程序的初始化: 
    Global.asa文件: 
    网站计数器或统计在线人数等 
    Server对象、ODBCADO组件: 
    Server语法格式:Server.属性|方法 
    Server属性:ScriptTimeout 
    Server方法:CreateObject,HTMLEncode,URLEncode,MapPath 
    ServerCreateObject方法是ASP中最实用,最强大的功能,它可以创建已注册到服务器上的ActiveX组件实例,是建立ActiveX对象的源头。 
    Server.CreateObject(“组件名或组件注册名”) 
    Set Myconn=Server.CreateObject(“ADODB.connection”)连接对象实例 
    Set MyAds=Server.CreateObject(“MSWC.AdRotator”)广告对象实例 
    ODBC:是连接数据库的通用接口,是由Microsoft公司开发并倡导的数据库连接标准。 
    ADO:ASP服务器内置组件及实现Web数据库操作的一个十分重要的组件。 
    ADO组件是一个功能强大的组件,由7个接口组件组成,分别如下: 
    1. Connection组件 
    2. Recordset组件 
    3. Command组件 
    4. Parameter对象 
    5. Porperty对象 
    6. Error对象 
    7. Field对象 
    其中前三个组件需要使用Server.CreateObject方法来建立后才能使用。 
    Connection:语法格式:Set Connection对象名=Server.CreateObject(“ADODB.Connection”) 
    如:Set conn=Server.CreateObject(“ADODB.Connection”) 
    Connection对象的方法: 
    1. Open格式:Connection对象名.Open “连接数据库信息字符串”[;用户帐号][;用户密码]。该方法用于打开一个数据库并与其建立连接。有两种方法: 
    a) DSN方法打开数据库:该方法先用ODBC建立对应数据库的数据源名(DSN),然后通过数据源名打开对应数据库。如下代码就可以打开数据源名qhbook所对应的数据库book.mdb<% Set Conn=Server.CreateObject(“ADODB.Connection”) Conn.Open”qhbook;mydata;zhxing”%> 
    b) 用全路径DSN方法打开数据库。如果在连接数据库前没有建立ODBC数据源,也可以采用直接指定ODBC驱动程序名称的方法建立与数据库的连接。此时的连接数据库信息字符串必须以driver开始,变为”Driver={ODBC驱动程序名};dbq=”&Server.MapPath(“数据库名”).如下: 
    <% Set Conn=Server.CreateObject(“ADODB.Connection”) 
    Conn.Open”Driver={Microsoft Access Driver(*.mdb)};dbq=”&Server.MapPath(“book.mdb”) %> 
    如果是SQL Server类型,则驱动程序是Driver={SQL Server};如果是Oracle类型,则:Driver={Microsoft ODBC for oracle}. 
    2. Close:关闭一个已经建立的连接对象及其相关对象。<% Conn.Close%><%Set Conn=nothing%> 
    3. Execute: 
    格式一:Connection对象名.Execute(SQL指令). 
    格式二:Connection对象名.Execute(数据表名)。 
    如下: 
    <% SQL=”Select * from bookitem” Set rs=Conn.Execute(SQL) %>或: 
    <% Set rs=Conn.Execute(“bookitem”)%> 
    4. BeginTrans 
    5. CommitTrans 
    6. RollbackTrans 
    Recordset组件: 
    前面的Conn.Open方法知识打开并连接了相应的数据库,数据库通常是由一个或多个表组成,所以要存取其中的数据表还必须建立Recordset对象后,才能对其进行各种操作。 
    1. 建立Recordset对象 
    方法由以下几种: 
    Set Recordset对象名=Server.CreateObject(“ADODB.Recordset”) 
    Set Recordset对象名=Connection.Execute(“数据表名”) 
    Set Recordset对象名=Connection.Execute(SQL指令
    如下代码: 
    <% 
    Set Conn=Server.CreateObject(“ADODB.Connection”) 
    Conn.Open”qhbook;mydata;zhxing” 
    Set rs=Conn.Execute(“bookitem”) 
    %>或 
    <% 
    Set Conn=Server.CreateObject(“ADODB.Connection”) 
    Conn.Open”Driver={Microsoft Access Driver(*.mdb)};dbq=”&Server.MapPath(“book.mdb”) 
    Set rs=Server.CreateObject(“ADODB.Recordset”) 
    Exec=Select * from bookitem 
    Rs.Open Exec,Conn 
    %> 
    Recordset对象的方法: 
    Open:格式一:rs.Open Exec,Conn,1,1(记录集类型(0123),锁定类型(1,2,3,4
    格式二:rs.Open bookitem,Conn,1,1 
    Recordset类型:0:只读,当前数据记录只能向下移动 
    1:只读,当前数据记录可以自由移动 
    2:可读写,当前数据记录可以自由移动 
    3:可读写,当前数据记录可以自由移动(注) 
    锁定类型:1:默认值,用于打开只读的数据记录 
    2:悲观锁定 
    3:乐观锁定 
    4:批次乐观锁定 
    复杂一些~
    Recordset.open Source,ActiveConnection,CursorType,LockType,Options 
    各参数的含义是
    Source : 可以是一个SQL查询、数据表或存储过程 
    ActiveConnection: 可以是一个已打开的连接,或连接字符串 
    CursorType:游标类型,定义如下 
    0(adOpenForwardOnly): 只能在Recordset的记录中向前移动,但速度最快。 
    1(adOpenKeyset):可以在Recordset中任意移动,其他用户所做的记录修改可见,但其他用户添加的记录不可见,删除的记录字段值不能被使用。 
    2(adOpenDynamic):可以在Recordset中任意移动,其他用户增、删、改的记录都可见,但速度最慢。 
    3(adOpenStatic):可以在Recordset中任意移动,其他用户增、删、改的记录都不可见。 
    LockType:并发控制 
    0(adLockReadOnly):recordset的记录为只读 
    1(adLockPessimistic):只要保持Recordset为打开,别人就无法编辑该记录集中的记录
    2(adLockOptimistic):update recordset中的记录时,将记录加锁 
    3(adLockBatchOptimistic):以批模式时更新记录时加锁 
    Options:指定source传递命令的类型 
    1(adCmdText):SQL语句 
    2(adCmdTable):数据表的名字 
    4(adCmdStoredProc):存储过程 
    8(adCmdUnknown):未知类型

    Close方法 
    <% rs.Close 
    Set rs=nothing %> 
    Recordset对象指针移动的方法: 
    MoveFirst 
    MoveLast 
    MoveNext 
    MovePrevious 
    Move NumRecords,Start: 
    Recordset对象的操作方法: 
    Addnew:该方法可以向Recordset对象中添加一条记录 
    Delete:删除Recordset对象中的一条记录 
    Update:更新Recordset对象的当前记录 
    CancelUpdate:取消更新,在更新方法之后才有效 
    UpdateBatch:当锁定类型是4时,该方法用于保存对一个或多个记录的修改。 
    Recordset对象的属性 
    AbsolutePage 
    AbsolutePosition 
    ActiveConncetion 
    BOF 
    EOF 
    Bookmark 
    CacheSize 
    CursorLocation 
    CursorType 
    EditMode 
    Filter 
    LockType 
    MaxRecords 
    PageCount 
    PageSize 
    RecordCount 
    State 
    Source 
    Field对象与集合 
    Field属性: 
    Name,Value,Type,…. 
    Field方法:AppendChunk,GetChunk 
    Field集合: 
    输出数据表表头: 
    For I=0 to rs.fields.count-1 
    Response.write”<td>”&rs.fields(i).name&”</td>”(注释:前面的有获取表单元素个数的,和此差不多。Request.form.count) 
    Next 
    输出表中各个记录的值: 
    for I=0 to rs.fields.count-1 
    response.write”<td>”&rs.fields(i).value&”</td>” 
    next 
    ADOSQL查询数据库 
    建立数据库与数据源: 
    本例用Microsoft Access 2000建立一个图书管理数据库,数据库名为book.mdb,其中的数据表是bookitem,只有一个表。 
    bookitem表的结构: 
    book_id(编号):长整形,主键 
    book_name,book_author,book_price(货币)book_press,book_date(日期
    建立此数据库的DSN,取名qhbook,帐号和密码为:internet 
    Select选取所有记录: 
    格式:Select [Top N] 字段列表 From 数据表名(*表示所有字段,多字段用,隔开) 
    1. Select * from bookitem 
    2. Select book_name,book_author,book_price from bookitem 
    3. Select * from bookitem where book_name=’孤独羊’ 
    Select * from bookitem where book_name like ‘%原理%’(通配符%_,其中%代表任意多个,_代表一个。) 
    Select * from bookitem where book_price between 20.00 and 23.00 
    Select * from bookitem where book_price>=20.00 and book_price<=23.00 
    Select * from bookitem where book_price between 12.00 and 20.00 and book_name like ‘%系统%’ 
    Select * from bookitem where book_date>=#2000/3/1# and book_name like’%原理%’ 
    Where后的条件表达式可以用逻辑、比较、like,between…and,in/not,in,isNull/Is not Null等运算符来构成各种筛选。 
    Select [Top N] 字段列表 From 数据表名 Where 条件表达式 
    4. Select [Top N] 字段列表 From 数据表名 Where 条件表达式 order By 字段列表[Desc]降序排列: 
    Select * from bookitem order By book_date Desc,book_price Desc 
    Select * from bookitem Where book_date>=#2000/3/1# order By book_name 
    Select Top 4 * from bookitem where book_date>=#2000/3/1# 
    插入记录: 
    格式一:Insert Into 数据表名[(字段名列表)] Values (字段值列表
    格式二:rs.Open SQL,conn,2,3 
    Addnew 
    为各字段赋值 
    Update(此法最常用,特别是和表单结合时,通过表单添加记录
    如: 
    Insert Into bookitem(book_name,book_author,book_price) Values (‘书名’,’作者’,’价格’) 
    删除记录: 
    格式一:Delete from 数据表名 Where 条件表达式(SQL语言的删除) 
    格式二:rs.Open SQL,conn,2,3(记录集的删除方法
    rs.MoveLast 
    rs.Delete 
    rs.Update(常用的一种方法
    如:Delete from bookitem where book_author=’寡人’ 
    修改记录: 
    rs.Open SQL,conn,3,3 
    rs.MoveLast 
    rs(“book_author”)=”” 
    rs.Update

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Centos 下安装php
    php 基础 PHP保留两位小数的几种方法
    php基础 php 全局变量
    php 基础 语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?
    php 基础 获取远程连接
    php 基础 php获取前一天,前一个月,前一年的时间
    redis 基础 Redis 数据类型
    [Poj2349]Arctic Network(二分,最小生成树)
    [USACO07DEC]Sightseeing Cows(负环,0/1分数规划)
    [Tyvj2032]升降梯上(最短路)
  • 原文地址:https://www.cnblogs.com/zxhome/p/4130777.html
Copyright © 2020-2023  润新知