• <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和SQL實現基于Web的事件日歷

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網 本文介紹如何建立基于Web的日歷,同時為不熟悉Active Server Pages(ASP)、SQL和ADO的開發者提供建立Web站點的過程介紹,也為有經驗的開發者提供了Web站點可伸縮性方面的技巧。

    隨著網絡應用的發展,基于Web的日歷越來越受到人們的重視,對于顯示諸如最后期限或日程安排之類的重要事件,或顯示誰在什么時候休假,基于Web的日歷都是有用的。本文描述了如何使用IIS和SQL Server內的ASP建立一個非常簡單的基于Web的日歷,并允許你與其他人共享你的日程表或管理一組人員的日歷。

    建立SQL服務器
    對Web日歷而言,我們在服務器端僅需保存表明事件性質的一個文本字符串即可,字符串最長為100個字符。設計源代碼如下:

    Calendar.sql
    -- 創建表
    create table Schedule
    (
    idSchedule smallint identity primary key,
    dtDate smalldatetime not null,
    vcEvent varchar(100) not null
    )
    go
    -- 存儲過程
    create procedure GetSchedule (@nMonth tinyint, @nYear smallint)
    as
    select idSchedule, convert(varchar, datepart(dd, dtDate)) 'nDay', vcEvent
    from Schedule
    where datepart(yy, dtDate) = @nYear and datepart(mm, dtDate) = @nMonth
    order by datepart(dd, dtDate)
    go
    create procedure AddEvent (@vcDate varchar(20), @vcEvent varchar(100))
    as
    insert Schedule
    select @vcDate, @vcEvent
    go
    create procedure DeleteEvent (@idSchedule smallint)
    as
    delete Schedule where idSchedule = @idSchedule
    go

    設計ASP客戶端
    下圖是Web日歷的主要用戶界面,用戶可以看到哪些事件是已安排的。另外,使用底部的鏈接可以在日歷中按月前后翻動。

    ASP的實現代碼如下:

    header.asp
    <@ LANGUAGE="VBSCRIPT"
    ENABLESESSIONSTATE = False %>
    <%
    ' 目的:表頭包括用來啟動所有頁的文件
    ' 還包括全局函數
    Option Explicit
    Response.Buffer = True
    Response.Expires = 0
    sub Doheader(strTitle)
    %>
    <html>
       <head>
       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
       <title>Event Calendar - <%= strTitle %></title>
       </head>
       <body bgcolor="white" link="blue" alink="blue" vlink="blue">
       <basefont face="Verdana, Arial">
       <center><h1>Event Calendar</h1>
       <h3><%= strTitle %></h3>
    <%
    end sub
    function GetDataConnection()
    dim oConn, strConn
    Set oConn = Server.CreateObject("ADODB.Connection")
    strConn = "Provider=SQLOLEDB; Data Source=adspm; Initial Catalog=TeamWeb; "
    strConn = strConn && "User Id=TeamWeb; Password=x"
    oConn.Open strConn
    set GetDataConnection = oConn
    end function
    %>

    利用ADO,我們可以很容易地將 ASP 頁面與 SQL 數據庫相連接。首先我們要創建一個到數據庫的連接。為了獲得記錄集,我們要調用 Connection 對象的 Execute 方法,將希望執行的命令的文本字符串傳入,一旦有了記錄集,就可以在其中循環。header.asp 包含獲得數據連接的函數,這意味著如果數據源有變化,我們只有一個位置需要編輯連接信息(服務器、用戶和口令)。請注意,作為結果,我們必須在函數的末尾使用 set 命令傳出新連接。

    優化性能
    ASP使建立Web頁面變得十分容易,但如果想建立一個可以適應大量用戶的站點,你就需要仔細考慮編碼。下面筆者將為讀者介紹增強基于Web日歷可伸縮性的幾種方法,這些方法也可用于提高任何基于ASP的Web站點的性能。

    1.SQL優化

    提高站點性能的一個簡單方法是給 Schedule表的date字段添加一個索引,這樣,它會在給定日期之間進行查找,因而將加快 GetEvents的存儲過程。

    對于小型站點,我們可以將 SQL 與 IIS 安裝在同一服務器上,一旦站點訪問量開始增長,我們可將 SQL 移動到其自身的服務器上,當訪問量進一步增長時,我們可以添加均指向同一 SQL 服務器的多個 IIS 服務器。如果 SQL 服務器的通信量過度增長時,還可以將數據分割到不同的服務器上,我們可以將奇數月份分配到一臺服務器,將偶數月份分配到另一臺服務器上,當然,這需要修改 header.asp 中的 GetDataConnection,以便它為你提供基于此月份的正確連接。

    本新聞共2頁,當前在第1頁  1  2  

    延伸閱讀

    文章來源于領測軟件測試網 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>