• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    《ASP網頁制作教程》筆記

    發布: 2007-6-30 18:56 | 作者: admin | 來源: | 查看: 30次 | 進入軟件測試論壇討論

    領測軟件測試網


    《ASP網頁制作教程》。王國榮 編著,人民郵電出版社。

    打開MDB數據庫的方法:先定義一個OpenMDB子程序,然后在主程序中調用。
    <%
    Option Explicit
    Sub OpenMDB(dbname,pwd,conn)
    ‘dbname-數據庫文件的相對路徑,pwd-數據庫文件的密碼,conn-用戶定義的Connection對象。
    ‘’對于沒有密碼的數據庫,pwd值可任意。
    dim connstr
    Set conn = Server.CreateObject("ADODB.Connection")
    connstr="Provider=Microsoft.Jet.OLEDB.4.0;" ‘指定OLE DB驅動程序
    connstr=connstr & "Data Source=" & Server.MapPath(""&dbname&"") ‘指定數據源
    connstr=connstr & ";Jet OLEDB:Database Password=" & pwd ‘指定密碼
    conn.Open connstr
    End Sub

    Dim conn,rs
    Call OpenMDB("vote.mdb","111",conn)
    Set rs=Server.CreateObject("ADODB.Recordset")
    rs.open "select * from vote",conn,2,2
    %>

    -----------------------------------------------------------------------
    連接數據庫時,若Microsoft提供有OLE DB驅動程序,就直接使用它,如Access。若沒有提供,就需用數據庫自己的ODBC驅動程序,如Foxpro。對不同的驅動程序來說,可能都有其專用的參數。
    IIS/PWS 4.0只能存取Access97以前的數據庫,而不能存取Access2000的數據庫。
    Microsoft宣稱OLE DB驅動程序的執行效能優于ODBC驅動程序。

    -----------------------------------------------------------------------
    Cookies是記錄在瀏覽器的信息,而其他ASP對象的信息存儲在Server端,因此,只有在瀏覽器開始瀏覽Server的某一網頁,而Server尚未下載任何數據給瀏覽器之前,瀏覽器才能與Server進行Cookie數據的交換。解決的辦法是先將數據寫到緩沖區。
    由于在Cookie的生命周期中,只有關閉瀏覽器才會消失,而Session因有Timeout的設置,即使瀏覽器打開,中途也可能消失。因此,對于需要將數據分成各個階段來輸入的網頁來說,使用Cookie對象來存放階段性的數據比Session對象合適。
    不同公司的瀏覽器Cookie是彼此不兼容的。
    IE的Cookie存放在\windows\cookies\文件夾內。
    Cookie生命周期的設置方法:
    Response.Cookie("UserID")="comehope" : Response.Cookie("UserID").expires="2008/12/31"

    -----------------------------------------------------------------------
    網頁中調用自己的鏈接:
    <% myself=Request.ServerVariables("Path_info") %>
    <A href="<% =myself %>?page=1">第一頁</A>

    -----------------------------------------------------------------------
    Server對象概要
    屬性:
    ScripTimeout 服務器連續處理腳本的最長時間,默認為90秒。
    方法:
    CreatObject 建立對象的實例
    Excute 調用和執行另一個ASP腳本
    GetLastError 建立發生錯誤的ASP Error對象
    HTMLEncode 對HTML字串進行編碼,可以用該方法顯示HTML源代碼
    MapPath 指定物理路徑。因為打開文件或數據庫時,ASP規定必須指定文件的物理路徑,該方法不支持相對目錄標識符“.”和“..”。
    Transfer 重定向到另一個腳本,來自第一個腳本的Request對象和其他對象的值都可以用于第二個腳本。
    URLEncode 對地址進行編碼

    -----------------------------------------------------------------------
    刪除記錄語句 rs.delete
    由于delete方法會刪除當前記錄,因此調用delete方法之后,當前數據記錄將不存在,我們必須再調用某方法將指針從此記錄移開,方可再繼續其他操作。

    -----------------------------------------------------------------------
    更新數據記錄:先改變字段值,然后調用update方法,如:
    rs("收盤價")=30.5
    rs("成交量")=3589
    rs.update
    如果在未調用update方法前,指針從當前記錄移開,ADO將自動調用update方法。
    使用數組更新的方法:rs.update 字段名稱數組,字段值數組。如:
    Fieldname=Array("收盤價","成交量")
    Fieldvalues=Array(30.5,3589)
    rs.update Fieldname,Fieldvalues
    在改變字段值之后,而未調用update方法之前,調用CancelUpdate方法會取消更新的數據。

    -----------------------------------------------------------------------
    添加記錄的方法有修改記錄的方法很相似,不同的是在此之前先用addnew方法建立一個緩沖區,系統會將此記錄自動設置為當前記錄,然后象修改記錄一樣,修改這個新記錄的內容。如:
    rs.addnew
    rs("收盤價")=30.5
    rs("成交量")=3589
    rs.update
    使用數組添加記錄方法:rs.addnew 字段名稱數組,字段值數組。

    -----------------------------------------------------------------------
    SQL Select語句的多種形式
    select 字段列表 from 表
    select 字段名 as 別名 from 表
    select 字段名運算結果 as 別名 from 表
    select * from 表 order by 字段列表 [desc]
    注意:order by后的字段名稱不可以是別名,如下面的語句是錯誤的;
    select 學號,語文+數學 as 總成績 from 成績單 order by 總成績
    select top 10 * from 成績單
    select * from 表 where 條件表達式
    select * from 表 where 姓名 like ‘’王%‘’ “%”代表0-15個字符
    select * from 表 where 姓名 like ‘’王_‘’ “_”代表一個字符
    select * from 表 where between 值1 and 值2
    select * from 表 where 字段名 in(值1,值2,…)

    若使用Access數據庫,VB函數也可以用于where條件式中,如;
    select * from 成績單 where mid(姓名,2,1)="大"
    選取姓名字段第二個字等于“大”的記錄

    在where表達式中使用變量;
    數值變量; sql="select * from 股票行情表 where 收盤價 >" & vv
    日期時間; sql="select * from 買賣記錄 where 買賣日期=#" & vv & "#"
    字符串: sql="select * from 股票行情表 where 股票代號=‘’" & vv & "‘’"

    -----------------------------------------------------------------------
    若希望在重定義數組時保留數組元素的內容,需在數組名前加上Preserve保留字,例如:
    ReDim x(5)
    x(0)=10:x(1)=20
    ReDim Preserve x(10)

    -----------------------------------------------------------------------
    Response對象概要
    屬性:
    Buffer 是否先將數據寫到緩沖區中。
    ContentType 定義了要在響應主體中發送的數據類型,用戶瀏覽器利用這一信息決定如何編譯下載的HTTP響應內容。
    IsClientConnected 只讀屬性,根據最近一次使用Response.write判斷用戶是否依然連接在服務器上。
    集合:
    Cookie
    方法:
    BinaryWrite 把二進制數據寫到客戶機上。
    Clear 清空Buffer緩沖區。
    End 結束瀏覽器下載。
    Flush 輸出緩沖區數據。
    Redirect 重定向到另一個URL上。
    Write 向HTTP響應寫入信息。

    -----------------------------------------------------------------------
    一般在調試程序時會在其中夾雜顯示中間結果的測試語句,但這一次測試沒有問題并不保證以后就沒有問題,這次把測試語句去掉,下次測試時又要寫回去,為了避免這種情況,可以利用緩沖區來解決,如下:
    Response.Buffer=True
    ‘’‘’‘’‘’‘’‘’正常的程序
    Response.Flush 輸出此前程序運行的結果。
    ‘’‘’‘’‘’‘’‘’這里是測試的語句
    Response.Clear ‘’若要輸出以上測試結果只需將此句設為注釋即可。

    -----------------------------------------------------------------------
    Application對象概要
    集合:
    Contents 包含所有應用程序級作用域的變量和對象,它有兩個方法,Contents.Remove和Contents.RemoveAll,分別刪除一個和所有變量。
    方法:
    Lock/UnLock 鎖定Application對象。
    事件:
    OnStart/OnEnd 在應用程序開始和結束時被觸發。

    -----------------------------------------------------------------------
    Session對象的使用必須配合瀏覽器的Cookies功能方才有效。IE4.x允許用戶關閉Cookies功能,而IE5以上版本不允許使用者將Cookies關閉。
    Session對象概要
    屬性:
    SessionID 唯一標識每一個當前用戶會話的只讀屬性值。
    集合:
    Contents 包含所有用戶會話級作用域的變量和對象,它有兩個方法,Contents.Remove和Contents.RemoveAll,分別刪除一個和所有變量。
    事件:
    OnStart/OnEnd 在用戶會話開始和結束時被觸發。

    -----------------------------------------------------------------------
    以下程序讀取Recordset的所有內容。
    <%
    dim i,Row

    ‘’ Part I輸出“表頭名稱”
    Response.Write "<TABLE Border=1><TR>"
    For i=0 to rs.Fields.Count-1
    Response.Write "<TD>" & rs(i).Name & "</TD>"
    Next
    Response.Write "</TR>"

    ‘’ Part II輸出數據表的“內容”
    rs.MoveFirst ‘’ 將目前的數據記錄移到第一項
    While Not rs.EOF ‘’ 判斷是否過了最后一項
    Row = "<TR>"
    For i=0 to rs.Fields.Count-1
    Row = Row & "<TD>" & rs(i) & "</TD>"
    Next
    Response.Write Row & "</TR>"
    rs.MoveNext ‘’ 移到下一項
    Wend
    Response.Write "</TABLE>"
    %>

    -----------------------------------------------------------------------
    對于VBScript來說,最簡單的輸入方式是使用InputBox函數,最簡單的輸出方式是使用MsgBox函數,但在撰寫ASP時,InputBox和MsgBox函數都是不可用的,因為ASP是在Server端執行的,而用戶是位于遠程的機器上,Server端所顯示的窗口(InputBox和MsgBox函數都會顯示窗口)上網者是看不到的,所以在ASP程序中利用InputBox和MsgBox來輸入輸出數據是沒有意義的。

    不能僅憑著瀏覽器窗口所看到的結果來判定Response.Write輸出的數據是什么,而必須利用“查看源文件”功能來查看到底傳輸給瀏覽器的數據是什么。

    VBScript規定字符串中的雙引號要用兩個雙引號來表示,如Response.Write "BC""xy"的輸出結果為BC"xy。

    表單中的隱藏字段<Input Type=Hidden>最好固定地寫在所有可顯的<Input>標記之前。

    Request對象支持多個集合,當使用形如Request("name")這樣的語句讀取信息時,ASP將按照如下次序搜索Request對象的各個集合:QueryString,Form,cookie,ClientCertificate,ServerVariables。

    在沒有數據的情況下,Application對象和Session對象的返回值是Empty(注意,不是Null),而Request.Cookies卻是返回""(空字符串),而在VBS里,“空字符串”是不能與數值一起運算的。

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>