Webアプリケーションの開発により、Webベースのカレンダーはますます注目を集めており、Webカレンダーを使用して重要なイベントを表示できます。この記事は間違っています。 New Technology Channel Editorは、IISおよびSQL ServerでASPを使用して非常にシンプルなWebベースのカレンダーを作成する方法を紹介し、カレンダーを他のカレンダーと共有したり、人々のカレンダーのグループを管理したりできます。
SQLサーバーを確立します
Webカレンダーの場合、サーバー側のイベントの性質を示すテキスト文字列を保存する必要があり、文字列の長さは最大100文字です。設計ソースコードは次のとおりです。
Calendar.sql
- テーブルを作成します
テーブルスケジュールを作成します
(
idschedule smallintアイデンティティプライマリキー、
dtdate smalldateTime not null、
vcEvent varchar(100)nullではありません
))
行く
- ストアドプロシージャ
手順GetScheduleを作成する(@nmonthtinyint、@nyear smallint)
として
idschedule、convert(varchar、datepart(dd、dtdate)) 'nday'、vceventを選択します
スケジュールから
Where datePart(yy、dtdate)= @nyearおよびdatepart(mm、dtdate)= @nmonth
datepart(dd、dtdate)ごとに注文
行く
手順AddEvent(@vcdate varchar(20)、@vcevent varchar(100))を作成する
として
スケジュールを挿入します
@vcdate、@vceventを選択します
行く
手順deleteevent(@idschedule smallint)を作成する
として
idschedule = @idscheduleでスケジュールを削除します
行く
ASPクライアントの設計
次の図は、ユーザーがどのイベントがスケジュールされているかを確認できるWebカレンダーのメインユーザーインターフェイスです。また、下部のリンクを使用して、月ごとにカレンダーを裏返します。
ASPの実装コードは次のとおりです。
header.asp
<@言語= "vbscript"
enablessessionState = false%>
<%
'目的:ヘッダーには、すべてのページを起動するために使用されるファイルが含まれています
'グローバル機能も含まれています
オプションは明示的です
Response.buffer = true
Response.Expires = 0
Sub doheader(strtitle)
%>
<html>
<head>
<meta http-equiv = "content-type" content = "text/html; charset = gb2312">
<title>イベントカレンダー - <%= strtitle%> </title>
</head>
<body bgcolor = "white" link = "blue" link = "blue" vlink = "blue">
<basefont face = "verdana、arial">
<center> <h1>イベントカレンダー</h1>
<h3> <%= strtitle%> </h3>
<%
End Sub
関数getDataconnection()
Dim Oconn、strconn
oconn = server.createObject( "adodb.connection")を設定します
strconn = "provider = sqloledb; data source = adspm; initial catalog = teamweb;"
strconn = strconn && "user id = teamweb; password = x"
oconn.open strconn
getDataconnection = oconnを設定します
エンド関数
%>
ADOを使用すると、ASPページをSQLデータベースに簡単に接続できます。まず、データベースへの接続を作成する必要があります。レコードセットを取得するには、接続オブジェクトの実行方法を呼び出し、実行するコマンドのテキスト文字列を渡し、レコードセットが利用可能になったら、ループできます。 header.aspには、データ接続を取得する関数が含まれています。つまり、データソースが変更された場合、接続情報(サーバー、ユーザー、パスワード)を編集する場所が1つしかありません。その結果、セットコマンドを使用して、関数の最後に新しい接続を配置する必要があることに注意してください。
パフォーマンスを最適化します
ASPはWebページを簡単に作成できますが、多数のユーザーに対応できるサイトを構築する場合は、コーディングについて慎重に検討する必要があります。以下に、著者は、ASPベースのWebサイトのパフォーマンスを向上させるためにも使用できるWebカレンダーのスケーラビリティを強化するためのいくつかの方法を紹介します。
1.SQL最適化
サイトのパフォーマンスを改善する簡単な方法は、スケジュールテーブルの日付フィールドにインデックスを追加して、指定された日付間で検索し、GetEventsのストアドプロシージャを高速化することです。
小さなサイトの場合、同じサーバーにSQLとIISをインストールできます。サイトの訪問が成長し始めたら、SQLを独自のサーバーに移動できます。訪問がさらに成長すると、両方が同じSQLサーバーを指す複数のIISサーバーを追加できます。 SQL Serverのトラフィックが過度に増加している場合、データをさまざまなサーバーに分割することもできます。1つのサーバーに、さらには数か月を別のサーバーに割り当てることができます。もちろん、Header.aspでGetDataconnectionを変更して、今月に基づいて正しい接続を提供する必要があります。
2.最適化
ASP解釈の主な最適化方法は、すべての読み取りを解釈する必要なく解釈されるように、キャッシュされたページを活用することです。これを行う最も簡単な方法は、ASPアプリケーションオブジェクトを使用することです。これを行うには、HTMLを月と年の名前でアプリケーション変数(Calendar07-2000など)に保存するだけです。次に、イベントカレンダーページが表示されたら、最初にカレンダーがアプリケーション変数に既に保存されているかどうかを確認します。もしそうなら、それを取得するだけで、ウェブサイトのクエリプロセスを大幅に高速化します。次のコードは、作業プロセスを示しています。
<<ヘッダー>>
showcalendar(nmonth、nyear)
<<フッターを行う>>
サブショーカレンダー(nmonth、nyear)
application( "calendary" && nmonth && " - " && nyear)= "" then
<<カレンダーをビルド>>
application( "Calendary" && nmonth && " - " && nyear)= << Calendar >>
ifを終了します
Response.Write Application( "Calendary" && nmonth && " - " && nyear)
End Sub
もちろん、Events.aspページで1か月間イベントを変更する場合、それらのイベントの変更を反映するために、その月のアプリケーション変数をクリアする必要があります。
安全
このサイトでセキュリティを達成する方法はいくつかあります。イントラネットサイトの場合、Windows NTベースの検証は、ユーザーがネットワークにログインする可能性が高いため、セットアップが最も簡単です。すべてのユーザーがイベントカレンダーページを表示できるようにすることができますが、[管理者]ページにアクセス/削除ページにアクセスできます。
この記事では、ASPとSQLの方法を紹介して、Webベースのイベントカレンダーを実装します。誰もがそれを理解していると思います。より多くの技術コンテンツを学びたい場合は、間違った新しいテクノロジーチャネルに注意を払い続けてください!