¥xÆW³Ì¤jµ{¦¡³]­pªÀ¸sºô¯¸
½u¤W¤H¼Æ
1927
 
·|­ûÁ`¼Æ¡G246224
°Q½×¥DÃD¡G189786
Åwªï±z§K¶O¥[¤J·|­û
°Q½×°Ï¦Cªí >> ±MÄæ¤å³¹ >> «Ø¥ß Web °ò¦ªº¦æ¨Æ¾ä
[]  
[§Ú­n¦^ÂÐ]
¦^À³¥DÃD ¥[¤J§ÚªºÃöª`¸ÜÃD ÀËÁ|¦¹½g°Q½× ±N´£°ÝªÌ¥[¤J­Ó¤H¶Â¦W³æ
«Ø¥ß Web °ò¦ªº¦æ¨Æ¾ä
»ù­È : 0 QP  ÂI¾\¼Æ:3518 ¦^À³¼Æ:0
¼Ó¥D

¯¸°È¤H­û ¯¸ªø
ªù¥~º~
0 1580
542 9
µo°e¯¸¤º«H

®½ÃØ VP µ¹ ¯¸°È¤H­û
²¤¶

¦b³o¤ù¤å³¹¤¤¡A§Ú·|¥Ü½d¦p¦ó«Ø¥ß Web °ò¦ªº¦æ¨Æ¾ä¡C³o½g¤å³¹¹ï©ó¦b¸ê®ÆÅX°Êªººô¯¸¤¤ Active Server Pages (ASP)¡BStructured Query Language (SQL) »P and ActiveX Data Objects (ADO) ªº¶}µo·s¤â¡A´£¨Ñ¤@­Ó¨}¦nªº¾ÉÄý¡C¹ï©ó¦³¸gÅ窺¶}µo¤H­û¡A§Ú¤]´£¨Ñ¤@¨Ç½Õ¾ã©Ê¤è­±ªº¹ê¥Î«ØÄ³¡C

¹Ï 1 Web °ò¦ªº¦æ¨Æ¾ä

¤°»ò¬O Web °ò¦ªº¦æ¨Æ¾ä¡H

Web °ò¦ªº¦æ¨Æ¾äªñ¨Ó¤Q¤Àªº¬y¦æ¡C°_ªì¡A¨Ï¥ÎªÌ±N¦æ¨Æ¾ä¸m©ó­Ó¤Hªº¸ê°TºÞ²zµ{¦¡¤¤¡A¨Ò¦p Microsoft(R) Outlook(R)¡C³o¨Ç¦æ¨Æ¾äªº°ÝÃD¡A²³æªº»¡¡A¬O¥¦­Ì¬Ò°w¹ï­Ó¤H©Ê¦Ó³]­pªº¡A«ÜÃø©M¨ä¥L¤H¤@°_¤À¨ÉÀ˵ø©Î¨Ï¥Î¡C²{¦b§Ú­Ì»Ý­nªº¤@ºØ¤è¦¡¡AÅý¨ä¥L¤H¤]¥i¥H¬Ý¨£±zªº­Ó¤H¦æ¨Æ¾ä¡A©Î¬O¾Ö¦³¤@­Ó³\¦h¤H¦@¥Îªº¤p²Õ¦æ¨Æ¾ä¡CÀHµÛºô»Úºô¸ôªºµo®i¡AÀH®ÉÀH¦a¨Ï¥Î Web °ò¦ªº¦æ¨Æ¾ä¤]Åܱo¥i¦æ¡C

±z¯à§Q¥Î Web °ò¦ªº¦æ¨Æ¾ä§@¤°»ò¡H

Web °ò¦ªº¦æ¨Æ¾ä¨Ï±z¯à©M¨ä¥L¤H¤À¨É±zªº¦æ¨Æ¾ä¡A©Î¬OÅý¤@¸s¤HºÞ²z¦æ¨Æ¾ä¡C¦pªG±z·Q­n¨ä¥L¤H¦s¨ú±zªº¦æ¨Æ¾ä¡A¤À¨É¦æ¨Æ¾ä¬O«Ü¦³¥Îªº¡C´«¥y¸Ü»¡¡A¤p²Õ¦æ¨Æ¾ä¹ï©óÅã¥Ü¥D­nªº¦æ¨Æ¶µ¥Ø¬O¦³À°§Uªº¡A¨Ò¦pºI¤î¤é´Á©Î­«¤j¨Æ¥ó¡A¦P®É¤]¥i¥HÅã¥Üµ¹¥¿¦b¥ð°²¤¤ªº¤H¡C

³o¸Ì²{¦sªºªF¦è

¦b§Úªº¿ì¤½«Ç¸ÌÀY¡A§Ú­Ì¦³¤@­Ó intranet ºô¯¸¡A¦b¨º¸Ì¡A§Ú­Ì¦X¨Ö©Ò¦³»P§Ú­Ì¤p²Õ¦³Ãöªº¸ê°T¡A¥]§t¥ð°²¦æ¨Æ¾ä¡B­«¤j¨Æ¥ó¥H¤Î°²´Á¡C³o»Ý­n«Ø¥ß¤@­Ó²³æªº Web °ò¦ªº¦æ¨Æ¾ä¡AÅý¥ô¦ó¤H¥i¥HÀ˵ø¡B·s¼W¡B¥H¤Î/©Î¬O²¾°£¦æ¨Æ¶µ¥Ø (½Ð°Ñ¾\¹Ï 1)¡C


¦b³o½g¤å³¹¤¤¡A§Ú·|»¡©ú¦p¦ó¦b Microsoft Internet Information ªA°È (IIS) »P Microsoft SQL Server ¤¤¡A¨Ï¥Î ASP ºô­¶«Ø¥ß¤@­Ó«D±`²³æ Web °ò¦ªº¦æ¨Æ¾ä¡C¦b³o½g¤å³¹ªºµ²½×¤¤¡A§Ú·|°Q½×·í½Õ¾ãÀ³¥Îµ{¦¡µ¹§ó¦h¨Ï¥ÎªÌ®É¡A®Ä¯àªº²o³s¬O¥²¶·¦Ò¶qªº¡C¹ï©ó­è¶i¤J IIS »P ASP ªº¤H¡A³o½g¤å³¹¥i¥H·í¦¨«Ø¥ß¸ê®ÆÅX°Êºô¯¸ªº¨}¦n¾ÉÄý¡C

SQL «áºÝ

­nÀx¦s¤°»ò¸ê®Æ¡H

²Ä¤@­Ó°ÝÃD¬O¡A¨C­Ó¤é´Á­nÀx¦s¤°»òÃþ«¬¸ê®Æ¡H¹ï§Úªº¦æ¨Æ¾ä¦Ó¨¥¡A§Ú¥u»Ý­n²³æªºÀx¦s¼Ð¥Ü¦æ¨Æ©Ê½èªº 100 ¦r¤¸ªøªº¤å¦r¦r¦ê¡C¨C­Ó¤H³£¥i¥H»´©öªº©µ¦ù¸ê®Æ¼Ò«¬¡A¥H¥]§t§ó¦hªº¤å¦r¦r¦ê¡C


»yªk

Calendar.sql

SQL µ{¦¡½X¥]§t¤U¦Cªº¤ù¬qµ{¦¡½X¡G

------- ¸ê®Æªí--------------

create table Schedule

(

idSchedule smallint identity primary key,

dtDate smalldatetime not null,

vcEvent varchar(100) not null

)

go



----------------- ¹w¦sµ{§Ç--------------------------



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


¹ï©ó§Úªº±Æµ{ªí¡A§Ú¨Ï¥Î¤@­Ó¿ëÃÑÁä (¦Û°Ê¼W¥[)¡A§@¬°¥D­nÁä¡A©Ò¥H§Ú¤£»Ý­n¦Û¤v«Ø¥ß¤@­Ó°ß¤@ªºÁä¡C §Ú¿ï¾Ü smallint µ¹ idSchedule ¨Ï¥Î¡A¦]¬°¹ï©ó§Úªº»Ý¨D¡A§Ú±q¨Ó¨S¦³´Á±æ¾Ö¦³¶W¹L 32,000 ­Ó¤£¦Pªº¦æ¨Æ¶µ¥Ø¡C¹ï©ó¤@­Ó¤ñ¸û¤j³W¼ÒªºÀ³¥Îµ{¦¡¡A§A¥i¯à¤ñ¸û·Q­n¨Ï¥Î¤@­Óªø¾ã¼Æ¨Ó´£¨Ñ§A 20 »õµ§ªº°O¿ý¡C§Ú±N³o­Ó¸ê®ÆÀx¦s¬° smalldatetime¡A¥H¸`¬ÙªÅ¶¡¡A¦]¬°§Ú¤£»Ý­n°O¿ý¨ì¬í¼Æ¦ì¡C¤@­Ó¥¿±` datetime ·|°O¿ý¨ì¸U¤À¤§¤@¬í¡A¤ñ°_¥¿½T²v¨ì¤Àªº smalldatetime¡A¨ä¦h¦û¤F¤@­¿ªºªÅ¶¡¡C³W¼Ò¸û¤jªºÀ³¥Îµ{¦¡¤]³\»Ý­nÀˬd¨ä¥L¤èªk¡A§Q¥Î§ó¤ÖªºªÅ¶¡¨Ó°O¿ý¤é´Á (¨Ò¦p¡A¦b¸g¹L¯S©wªº¤é´Á«á¡A´N¥X²{¾ã¼ÆÅã¥Ü¤Ñ¼Æ¡A¨Ò¦p 1970 ¦~ 1 ¤ë 1 ¤é)¡C

¹ï©ó§Úªº¸ê®Æ¡A§Ú¨Ï¥Î¤@­Ó¤£¦Pªø«×ªº¦r¤¸¦r¦ê (varchar)¡A°ª¹F 100 ­Ó¦r¤¸¡C ¦b SQL Server 7.0 ¤¤¡A§A¥i¥H¨Ï¥Î¤@­Ó nvarchar¡A¨º¥i¥H¨Ï¥Î Unicode ¦r¤¸¡A¨Ï§AªºÀ³¥Îµ{¦¡¥i¥H¥þ²y©Êªº¨Ï¥Î¡C¦ý¬O¡A³o¸Ì¦³¬°¤F°ê»Ú¨Ï¥ÎªÌ«Ø¥ßºô¸ô­¶­±ªº°ÝÃD¡A³o¶W¹L¤F§Ú­Ì²{¦b³o¸Ì°Q½×ªº½d³ò¡C


¹w¦sµ{§Ç

¤@­Ó¦³Ãö SQL ¹w¦sµ{§ÇªººK°O¡G¦b ASP µ{¦¡½X¤W¡A¹w¦sµ{§Ç¤ñª½±µ¼¶¼g SQL ÁÙ¦n¡A¦Ó­ì¦]¦³¤G¡C²Ä¤@¡A±N¸ê®Æ¦s¨úµ{¦¡½X±q±Ô­zµ{¦¡½X¤À¥X¡A½T©w¸ê®Æªº¿W¥ß©Ê¡C³oÅý§A¥i¥H§ïÅÜ¸ê®Æªº¬[ºc (¥H¤Î¥¦¦ñÀHªº¹w¦sµ{§Ç¡A¨Ã¥B¤£¥Î§ïÅÜ ASP ­¶­±¡C³o¬O¨å«¬ªº Microsoft Windows DNA n-tier ¬[ºc¡C²Ä¤G­Ó¬°¤°»ò¹w¦sµ{§Ç¤ñ¸û¦nªº­ì¦]¬O¡A¥¦­Ì¤ñ¤å¦r°Ñ¼Æ°õ¦æ±o§Ö¡A¦]¬°·í¥¦­Ì³Q©I¥s®É¡A¥¦­Ì´N·|¥ý³Q¤ÀªR¡C¦]¦¹¡A«á¨Óªº©I¥s´N¤£¥Î¦A¦¸¤ÀªR³o­Óµ{§Ç¡C


§Ú»Ý­n¤T­Ó¹w¦sµ{§Ç¨Ó¦b³o­Óªí¤W¦s¨ú©M³B²z¸ê®Æ¡FGetSchedule¡BAddEvent ©M DeleteEvent¡C


¹ï©ó GetScheduleµ{§Ç¡A§Ú¦b¤ë©M¦~¶Ç»¼§Ú·Q­n¦^ªº¸ê®Æ¡CµM«á¡A§Ú¨Ï¥Î Datepart() ¥\¯à¨Ó¨ú±o¦æ¨Æ¶µ¥Øªº¤é¤l¼Æ¡CµM«á¡A§Ú±N¨Ï¥Î³o­Ó¼Æ¦r¨Ó©M§Ú«Ø¥ßªº¦æ¨Æ¾äªº¤é¤l°t¦X¡C§Ú­Ì·|¦b«á­±¬Ý¨ì¡A¨C¤Ñ±Æ¦Cµ²ªG¬O«Ü­«­nªº¡C


AddEvent µ{§Ç´N¬O²³æªº¼W¥[¤@­Ó¤å¦r¦æ¨Æ¶µ¥Ø¨ì¤@­Óµ¹¥Xªº¸ê®Æ¤W¡C§Ú¨Ã¤£¾á¤ß½Æ»s¦æ¨Æ¶µ¥Ø¡A¦]¬°©Ò¦³ªº¦æ¨Æ¶µ¥Ø³£¥Î¦³¤@­Ó¿W¯Sªº±Æµ{ ID¡C


¿W¯Sªº±Æµ{ ID ¬O±q±Æµ{¤¤²¾°£¤@­Ó¦æ¨Æ¶µ¥Ø°ß¤@»Ý­nªº¡C¶Ç»¼³o­Ó¨ì DeleteEvent µ{§Ç²¾°£³o­Ó¦æ¨Æ¶µ¥Ø¡C


ASP «eºÝ

°ò¥»ªº UI

¡@¡@¹Ï 1 Åã¥Ü¥D­nªº¨Ï¥ÎªÌ¤¶­± (UI)¡C UI ªº¦w¸Ë¹³¬O¤@­Ó®à­±¦æ¨Æ¾ä¡C§Úªº¤@­Ó¬P´Á±q¬P´Á¤é¶}©l¨Ã¥B¥]§t 7 ¤Ñ¡C¬°¤F²³æ¡A§Ú¥²¶·Á×§K°õ¦æ¦Y­«ªº®æ¦¡¡A¦ý¬O¨Ï¥Î¼Ë¦¡ªí¨Ó»s³y³o­Ó¦æ¨Æ¾ä¡AÅý¥¦¬Ý°_¨Ó§ó±M·~´N®e©öªº¦h¡C±q³o­Ó¥D­n­¶­±¡A¨Ï¥ÎªÌ¥i¥H¬Ý¨ì­þ¤@­Ó¦æ¨Æ¶µ¥Ø¤w¸g¦b¦æ¨Æ¾ä¤W¡C¦Ó¥B¡C¥¦­Ì¥i¥H¦b¦æ¨Æ¾äªº¤ë¥÷¤W©¹«e©M©¹«á²¾¡A¥u­n¨Ï¥Î¦b­¶©³ªº³sµ²¡A©Î¬O¿ï¾Ü¤@­Ó¯S©wªº¤ë¥÷©M¦~¥÷¡A¥u­n¨Ï¥Î¦b­¶­±¥ª¤W¨¤ªº¤U©Ô®Ø¡C³sµ²¼W¥[/²¾°£¦æ¨Æ¶µ¥Øªº­¶­±¬O¦b¦æ¨Æ¾äªº¥¿¤U­±¡C


ASP µ{¦¡½X°ò¦

header.asp

<%@ LANGUAGE="VBSCRIPT" 

ENABLESESSIONSTATE = False %>

<%

'**************************************

' ¦WºÙ¡G header.asp

'

' ¥Øªº¡GªíÀY¥]§t±Ò°Ê©Ò¦³­¶­±ªºÀÉ®×

' ¤]¥]§tÁ`Åé¨ç¼Æ

'

'********************************************************************



Option Explicit

Response.Buffer = True

Response.Expires = 0



sub Doheader(strTitle)

%>

<html>

<head>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=big5">

<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



sub DoFooter(strTitle)

%>

</center>

</body></html>

<%

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

%>


·í§Ú¨Ï¥Î ASP ¼¶¼g¤@­Óºô¯¸¡A§Ú³ßÅw¹ï¾ã­Óºô¸ô¨Ï¥Î¤@­Ó³æ¤@ªíÀY­¶­±¡C³oÅý§Ú¥i¥H¦b¨C¤@­¶¤W©ñ¬Û¦Pªº¨Ï¥Î¥\¯à¡B¼Ë¦¡ ¡AMicrosoft JScript µ¥µ¥¡C¹ï©ó³o­Óºô¯¸¡A§Ú¥²¶·¦w¸Ë¤@­ÓªíÀY­¶­± (½Ð°Ñ¦Ò³B²z½Xªº½d¨Ò)¡A¦b¾ã­Óºô¯¸¤W¦w¸Ë¬Û¦Pªº ASP ¸Ë¸m¡A¨Ã¥B¥]§t¤T­Ó§Ú¦b©Ò¦³¨ä¥L­¶­±¤W¨Ï¥Îªº¥\¯à¡G¤@­Ó HTML ªíÀY©Mªí§À¡A¥H¤Î§Úªº¸ê®Æ³sµ²µ{¦¡½X¡C



§Ú³Ì¥ý°µªº¨Æ¬O¦w¸Ë»y¨¥¨ì Microsoft Visual Basic Scripting Edition (VBScript) ©M°±¤î¶¥¬q§@·~ª¬ºA¡C¦w¸Ë»y¨¥¨Ã¤£¬Oµ´¹ï»Ý­n¡A¦ý«o¬O¤@­Ó¦n¥D·N¡C¨Ã¥B¡A³o­Óºô¯¸¤£¥ÎASP ¶¥¬q§@·~ª¬ºA¡A¨º´N¬O§Úª½±µºÙ¬°ªº IIS¡A¦]¦¹¡A®Ä¯à§Ö³tªº¶i¨B¡C§Ú¨ä¥L¼¶¼g²ßºD¬O¥Î¨Ó³]©w Option Explicit (·N«ä¬O§Ú¥²¶·¦b¨Ï¥Î¥¦­Ì«e dim ÅܼÆ)¡A½w½Ä¿é¥X (IIS ±N·|«O¯d¿é¥X¡AµM«á¤@¦¸©ñ¥X¡A¥¦¼W¶iªº¥\¯à)¡A¨Ã¥B¥ß§Y³]¥ß³o­Ó­¶­±¬°¹L´Áªº (¦]¦¹¡A¨Ï¥ÎªÌ±N¥Ã»·±o¨ì³Ì·s­¶­±)¡C



§Ú¨Ï¥Î Doheader ¥\¯à³B²z©Ò¦³§Úªº HTML ªíÀYµ{¦¡½X¡C§Ú¶Ç»¼­¶­±ªº¦WºÙ¡A¦P®ÉÅã¥Ü¦b HTML ¼ÐÃD©M H3 ¼ÐÅÒ¦b­¶­±ªº³Ì¤W­±¡C³oÅý§Ú¦³¤@­Ó³æ¤@ªº¦a¤è¨Ó½sĶHTML BODY ÄݩʡB¼Ë¦¡µ¥¡C¬Û¦ü©ó Doheader ¥\¯à¡C§Ú·Q­n¾Ö¦³¤@­Óªí§À¥\¯à¡A¸U¤@§Ú»Ý­n¼W¥[¤@­Ó´¶³qªº (³sµ²¸ê°Tµ¥)¡C



ADO Åý§Úªº ASP ­¶­±«Ü®e©öªº³sµ² SQL ¸ê®Æ®w¡C­º¥ý¡A§Ú«Ø¥ß¤@­Ó³s½u¨ì¸ê®Æ®w¡C¬°¤FÀò±o recordset ¡A§Ú©I¥s Execute ¼Ò¦¡¡A¦b Connection ª«¥ó¶Ç»¼§Ú§Æ±æ°õ¦æªº¤å¦r¦r¦ê©R¥O¡C¤@¥¹§Ú¾Ö¦³¤F recordset¡A§Ú¥i¥HÀô¶¥¦¡Cheader.asp ¥]§t¤FÀò±o¸ê®Æ³s½uªº¥\¯à¡C³oªí¥Ü§Ú¥u»Ý­n¦b¤@­Ó¦a¤è½sͳs½u¸ê°T (¦øªA¾¹¡B¨Ï¥ÎªÌ¡B±K½X) ¦pªG§Úªº¸ê®Æ¨Ó·½§ïÅÜ¡Cª`·N¡A¥\¯àªº³Ì«á¡A§Ú¥²¶·¨Ï¥Î set ©R¥O¨Ó¶Ç»¼¥X·sªº³s½u§@¬°µ²ªG¡C



¦p¦ó¹B§@

Calendar.asp



<!--#includes file="header.asp"-->

<%

'********************************************************************

' ¦WºÙ¡GCalendar.asp

'

' ¥Øªº¡G¥Î¦æ¨Æ¾ä®æ¦¡Åã¥Ü¦æ¨Æ¶µ¥Øªº¥D­n¦æ¨Æ¾ä­¶

'

'********************************************************************



dim dbConn, rs, nDex, nMonth, nYear, dtDate



' ¨ú±o²{¦bªº¤é´Á

dtDate = Now()



' ³]©w¤ë¥÷©M¦~¥÷

nMonth = Request.QueryString("nMonth")

nYear = Request.QueryString("nYear")

if nMonth = "" then nMonth = Month(dtDate)

if nYear = "" then nYear = Year(dtDate)



' ³]©w¤é´Á¨ì²{¦b²Ä¤@­Ó¤ë¥÷

dtDate = DateSerial(nYear, nMonth, 1)



Set dbConn = GetDataConnection

Set rs = dbConn.Execute ("GetSchedule " & nMonth & ", " & nYear)



Doheader(MonthName(Month(dtDate)) & "  " & nYear)

%>

<form method="get" name="DateSelect" action="Calendar.asp">



<table width=700>

<tr><td colspan=2><select name="nMonth" onChange="DateSelect.submit();"><%

for nDex = 1 to 12

Response.Write "<option value=""" & nDex & """"

if MonthName(nDex) = MonthName(nMonth) then

Response.Write " selected"

end if

Response.Write ">" & MonthName(nDex)

next %></select> 

<select name="nYear" onChange="DateSelect.submit();"><%

' Note: I have set the year to be between 1999 and 2000

for nDex = 1999 to 2002

Response.Write "<option value=""" & nDex & """"

if nDex = CInt(nYear) then Response.Write " selected"

Response.Write ">" & nDex

next %></select></td></tr>



<tr><td colspan=2>

<table border=1 bgcolor="gray" cellpadding=3>

<tr bgcolor="Blue"><td width=90><font color="white">Sunday</font></td>

<td width=90><font color="white">Monday</font></td>

<td width=90><font color="white">Tuesday</font></td>

<td width=90><font color="white">Wednesday</font></td>

<td width=90><font color="white">Thursday</font></td>

<td width=90><font color="white">Friday</font></td>

<td width=90><font color="white">Saturday</font></td></tr>

<tr bgcolor="#ffffc0">

<%

' ¼W¥[ªÅ¥ÕÄæ¦ì¡Aª½¨ì¥¿½Tªº¤Ñ¼Æ

for nDex = 1 to Weekday(dtDate) - 1

Response.Write "<td bgcolor=""#c0c0c0""> </td>"

next



do

Response.Write "<td valign=""top"">" & Day(dtDate) & "<br> <br>"



if not rs.EOF then

do

if CInt(rs("nDay")) <> CInt(Day(dtDate)) then exit do



Response.Write "<font size=""-1"">" & rs("vcEvent")

Response.Write "
</font><br>"

rs.MoveNext



if rs.EOF then exit do

loop

end if



Response.Write "</td>"



if WeekDay(dtDate) = 7 then

Response.Write "</tr>" & vbCrLf & "<tr bgcolor=""#ffffc0"">"

end if

dtDate = DateAdd("d", 1, dtDate)

loop until (Month(dtDate) <> CInt(nMonth))



' ·s¼WªÅ¥ÕÄæ¦ì¨Ó¶ñº¡¨ä¥L»Ý­nªº¤ë¥÷

if Weekday(dtDate) <> 1 then

for nDex = Weekday(dtDate) to 7

Response.Write "<td bgcolor=""#C0C0C0""> </td>"

next

end if

%>

</tr>

</table></td></tr>



<tr><td colspan=2 align="center"><a

href="Events.asp?nMonth=<%= nMonth %>&nYear=<%= nYear %>"

>Add/Remove Events</a></td></tr>



<tr><td><a href="Calendar.asp?nMonth=<%

if nMonth = 1 then

Response.Write "12&nYear=" & nYear - 1

else

Response.Write nMonth - 1 & "&nYear=" & nYear

end if %>"><b><- Previous Month
</a></td>

<td align=right><a href="Calendar.asp?nMonth=<%

if nMonth = 12 then

Response.Write "1&nYear=" & nYear + 1

else

Response.Write nMonth + 1 & "&nYear=" & nYear

end if %>">Next Month - ></a>

</td>

</tr>

</table>



</form>



<%

DoFooter("Home")

%>


³o­Ó±M®×³Ì¦³¬D¾Ôªº³¡¤À¬O«Ø¥ß¤@­Ó¥¿½Tªº HTML ¦æ¨Æ¾ä¡C¦³«Ü¦h»Ý­n¨M©wªººtºâªk¡A©Î¬O¡A¨Ò¦p¡A¨C¤@­Ó¤ë¦³¦h¤Ö¤Ñ¡A¤µ¦~¬O¤£¬O¶|¦~µ¥¡C»P¨ä±qÀY¨ì§Àªº°µ¡A§Ú¨Ï¥Î¦b Visual Basic ¤¤ªº date ª«¥ó¡A¨Ó«Ø¥ß§Úªº¦æ¨Æ¾ä¡C



¬°¤F³]­p¬Y­Ó¤ë¥÷ªº¦æ¨Æ¾ä¡A­º¥ý§Ú«Ø¥ß¤@­Ó date ª«¥ó¡A¬°¤F¨º­Ó¤ë¥÷©Î¦~¥÷ªº²Ä¤@¤Ñ¡CµM«á¡A§Ú²³æªº¨Ï¥Î DateAdd() ¥\¯à¨Ó¼W¥[¤@¤Ñ¡CµM«á¡A§Ú¥i¥H¨Ï¥Î¤º«Øªº¤èªk¨ÓÅã¥Ü³o¬O¬P´Á´X¡A¥H¤Î³o­Ó¤ëµ²§ôªº¤é´Á¡C§Ú¤]¥i¥Hª¾¹D³o­Ó¤ëªº¤Ñ¼Æ¡A¨Ã¥B¨Ï¥Î¥¦¦b§Ú±Æµ{ªº¸ê°T¤W¡C³oÅý§Ú¥i¥H«Ø¥ß¤@­ÓÅã¥Ü¦æ¨Æ¾äªºªí®æ¡C



¦æ¨Æ¾ä­¶­±¨Ï¥Î¶Ç»¼¦b¬d¸ß¦r¦êªº¤é´Á©M¦~¥÷¡C¦pªG¨S¦³¥ô¦óªº¤é´Á©Î¦~¥÷¶Ç¤J¡A´N·|¨Ï¥Î¥Ø«eªº¤é´Á©M¦~¥÷¡C



³o¨Ï±o«Ø¥ß¥i¥H¦b¤ë¥÷¶¡²¾°Êªº UI Åܪº«Ü®e©ö¡C¥i¥H«Ø¥ß¦^¨ì¬Y­Ó¤ë¥÷ªº³sµ²¡A§Q¥Î©I¥s Calendar.asp ©M´£¨Ñ¤@­Ó«ü©w«e¤@­Ó¤ë¥÷ªº¬d¸ß¦r¦ê (¨Ã¥B´î¤Ö¤@­Ó¦~¥÷¡A¦pªG§Ú­Ì¬O¦b¤@¤ë)¡C©¹«e²¾¤@­Ó¤ë«Ü²³æ (­º¥ý¡A¥ý¬d¬Ý¬O¤£¬O¦b¤Q¤G¤ë)¡C²¾°Ê¨ì¤@­Ó¯S©wªº¤ë¥÷©M¦~¥÷¤]¤ñ¸û²³æ¡C§Ú­Ì¥u»Ý­n¦w¸Ë¤@­Ó Calendar.asp ®æ¦¡¬°¤@­Ó¥Ø¼Ð¡A¸Ë¤@¨Ç¤U©Ô®Ø¡A¥Î§Ú­Ì·Q­n²[»\ªº¤ë¥÷©M¦~¥÷¡A¬°¤F¤U©Ôªí³æ¡AµM«áªþ¥[¤@­Ó³Ì³»ºÝªº¨Æ¨£¨ì onChange() ¦æ¨Æ¶µ¥Ø¡C³o¨Ï±o­¶­±¥i¥H¦Û°Êªº§ó·s¡A·í¨Ï¥ÎªÌ¿ï¾Ü¤F¤@­Ó·sªº¤ë¥÷©Î¦~¥÷¡Cª`·N¨ì§Ú¦p¦ó¨Ï¥Î MonthName() ¥\¯àªí¨Ó±Æ¦C¥X¤ë¥÷¡C



Åã¥Ü¦æ¨Æ¶µ¥Ø¬O«Ü²³æªº¡C­º¥ý¡A§Ú¥Î ADO ¨Ó³sµ² SQL ¸ê®Æ®w¡AÅã¥Ü¥X¯S©w¤ë¥÷ªº¦æ¨Æ¶µ¥Ø¡C©I¥s GetSchedule ¹w¦sµ{§Ç¡A¨Ã¶Ç»¼°Ý¸¹¨ì¤ë¥÷©M¦~¥÷¡C³oÅý§Ú¨Ï¥Î¤@­Ó¥]§t¤F¦æ¨Æ¶µ¥Øªºªí³æ recordset¡A³æ¿WÀHµÛ¥¦­Ìªºµo¥Í¤é (¥Î¤é¨ÓÀx¦s)¡C



²{¦b¡A·í§Ú«Ø¥ß¦æ¨Æ¾ä®É¡A¥u­nÅã¥Ü¦æ¨Æ¶µ¥Øµo¥Íªº¤é´Á©M¤º®e§Y¥i¡C§Ú¥i¥H³o¼Ë°µ¬O¦]¬°§Úª¾¹D¦æ¨Æ¶µ¥Ø¥H¤Ñ¨Ó§@¬°Àx¦s³æ¦ì¡C



¹Ï 2 ·s¼W/²¾°£¦æ¨Æ¶µ¥Ø­¶



·s¼W/²¾°£¦æ¨Æ¶µ¥Ø­¶¤¹³\¨Ï¥ÎªÌ·s¼W¨Æ¥ó¶µ¥Ø©Î²¾°£²{¦sªº¦æ¨Æ¶µ¥Ø¡C­n¦s¨ú­¶­±¡A­º¥ý±N¦æ¨Æ¾ä²¾°Ê¨ì¥¿½Tªº¤ë¥÷­¶¡AµM«á«ö·s¼W/²¾°£¦æ¨Æ¶µ¥Øªº³sµ²¡C³o­Ó³sµ²ªº«Ø¥ß¥]§t¬d¸ß­n·s¼W/²¾°£¦æ¨Æ¶µ¥Øªº¤ë»P¦~¤§¦r¦ê¡C



¨Ï¥Î»P Calendar.asp ¬Û¦Pªº GetSchedule ¹w¦sµ{§Ç¡A·|²£¥Í¤ë¥÷¤¤¥Ø«eªº¦æ¨Æ¶µ¥Ø¦Cªí¡C²{¦b¡A§Ú­Ì¥u»Ý­n´`Àô¸ê®Æ¿ý¶°¡A´N¥iÅã¥Ü¤ë¥÷¤¤©Ò¦³ªº¦æ¨Æ¶µ¥Ø¡C



Events.asp



<!--#includes file="header.asp"-->

<%

'********************************************************************

' ¦WºÙ¡GEvents.asp

'

' ¥Øªº¡G¥Î¨Ó±q¦æ¨Æ¶µ¥Ø¸ê®Æ®w¤¤·s¼W»P²¾°£¦æ¨Æ¶µ¥Ø¡C

'

'********************************************************************



dim dbConn, rs, nDex, nMonth, nYear, dtDate, dtTemp



' ¨ú±o²{¦bªº¤é´Á

dtDate = Now()



' ³]©w¤ë¥÷»P¦~¥÷

nMonth = Request("nMonth")

nYear = Request("nYear")

if nMonth = "" then nMonth = Month(dtDate)

if nYear = "" then nYear = Year(dtDate)



Set dbConn = GetDataConnection

Set rs = dbConn.Execute ("GetSchedule " & nMonth & ", " & nYear)



Doheader("Add/Remove Events")

%>



<form method="get" action="AddEvent.asp">



<br>Currently Scheduled Events for <%

Response.Write MonthName(nMonth) & "  " & nYear

%>
:<p>

<table bgcolor="gray" border=1 cellpadding=3>

<tr bgcolor="Blue"><td><font color="white">Day</font></td>

<td colspan=2><font color="white">Event</font></td></tr>



<% if rs.EOF then

Response.Write "<tr><td colspan=3 bgcolor=""#ffffc0"">No events listed</td></tr>"

end if



while not rs.EOF

Response.Write "<tr bgcolor=""#ffffc0""><td>" & rs("nDay") & "</td><td>"

Response.Write rs("vcEvent") & "</td><td><input type=""button"" value=""Remove"""

Response.Write " onClick=""window.location.href='RemoveEvent.asp?nMonth=" & nMonth

Response.Write "&nYear=" & nYear & "&idSchedule=" & rs("idSchedule") & "'""></td></tr>"

rs.MoveNext

wend

%></table>



<p><br>

<table bgcolor="gray" border=1 cellpadding=3>

<tr bgcolor="Blue"><td><font color="white">Add New Event:</font></td></tr>

<tr bgcolor="#ffffc0"><td>Event:

<input type="text" size=30 maxlength=100 name="Event"> Day: <select name="nDay"><%

' ³]©w¤é´Á¨ì²{¦b²Ä¤@­Ó¤ë¥÷

dtDate = DateSerial(nYear, nMonth, 1)



dtTemp = dtDate

do

Response.Write "<option value=""" & Day(dtTemp) & """>" & Day(dtTemp)

dtTemp = DateAdd("d", 1, dtTemp)

loop until (Month(dtTemp) <> CInt(nMonth)) %></select>

<input type="hidden" name="nMonth" value="<%= nMonth %>">

<input type="hidden" name="nYear" value="<%= nYear %>">

<input type="Submit" value="Add Event"></td></tr>

</table>

</form>



<p><a href="Calendar.asp?nMonth=<%= nMonth %>&nYear=<%= nYear %>">Back to Calendar</a>



<%

DoFooter("Home")

%>



­n¼W¥[·s¦æ¨Æ¶µ¥Ø¡A¨Ï¥ÎªÌ²³æªº¿é¤J·Q­nªº¦æ¨Æ¶µ¥ØÃþ«¬¨ìªí³æ¤¤¡AµM«á«ö [½T©w] «ö¶s¡C¨Ï¥Î maxlength ÄݩʡA­­¨îªí³æ¤¸¯À¬° 100 ­Ó¦r¤¸¡A¥H°t¦X±Æµ{ªí¤¤ªº¦æ¨Æ¶µ¥ØÄæ¦ì¡C



­n²¾°£¦æ¨Æ¶µ¥Ø¡A¨Ï¥ÎªÌ«ö¤U­n²¾°£¦æ¨Æ¶µ¥Ø®ÇÃ䪺«ö¶s¡C³o­Ó«ö¶s·|©I¥s RemoveEvent.asp¡A¶Ç»¼¦æ¨Æ¶µ¥Øªº idSchedule ¥H¤Î²{¦bªº¤ë¥÷»P¦~¥÷¡A©Ò¥H¥i¥H«Ø³sµ²¦^¨ì Events.asp¡C



AddEvent.asp



<!--#includes file="header.asp"-->

<%

'********************************************************************

' ¦WºÙ¡GAddEvent.asp

'

' ¥Øªº¡G¥Î¨Ó·s¼W¦æ¨Æ¶µ¥Ø¨ì¦æ¨Æ¶µ¥Ø¸ê®Æ®w¡C

'

'********************************************************************



dim dbConn, strSQL



Set dbConn = GetDataConnection

strSQL = "AddEvent '" & Request("nMonth") & "/" & Request("nDay")

strSQL = strSQL & "/" & Request("nYear") & "', '"

strSQL = strSQL & Replace(Request("Event"), "'", "''") & "'"



dbConn.Execute (strSQL)



Response.Redirect("Events.asp?nMonth=" & Request("nMonth") & "&nYear=" & Request("nYear"))

%>


AddEvent.asp ­¶­±¨ú±o¶Ç»¼ªí³æªº¸ê°T¡AµM«á¨Ï¥Î AddEvent ¹w¦sµ{§Ç¡A´¡¤J¸ê®Æ®w¤¤¡CµM«á­¶­±­«·s¾É¦^·s¼W/²¾°£¦æ¨Æ¶µ¥Ø­¶¤¤¡A¨Ï¥Î¥i¥H¥ß§Y¬Ý¨ì·sªº¦æ¨Æ¶µ¥Ø¡C½Ðª`·N§Ú¦p¦ó¨Ï¥Î Replace() ¥\¯à¨Ó±N³æ¤Þ¸¹ (') Åܧó¬°Âù¤Þ¸¹ ('')¡ASQL ·|¸ÑªR³æ¤Þ¸¹¡C¦pªG±z¨S¦³³o¼Ë°µ¡A·í¨Ï¥ÎªÌ¹Á¸Õ¿é¤J¹³¬O¡u“All Saint’s Day¡v³o¼Ëªº¦æ¨Æ¶µ¥Ø®É¡A·|±o¨ì¿ù»~¡C



RemoveEvent.asp



<!--#includes file="header.asp"-->

<%

'********************************************************************

' ¦WºÙ¡GRemoveEvent.asp

'

' ¥Øªº¡G¥Î¨Ó±q¦æ¨Æ¶µ¥Ø¸ê®Æ®w¤¤²¾°£¦æ¨Æ¶µ¥Ø¡C

'

'********************************************************************



dim dbConn



Set dbConn = GetDataConnection

dbConn.Execute ("DeleteEvent " & Request("idSchedule") )



Response.Redirect("Events.asp?nMonth=" & Request("nMonth") & "&nYear=" & Request("nYear"))

%>





RemoveEvent.asp ­¶­±¨Ï¥Î DeleteEvent ¹w¦sµ{§Ç¨Ó²¾°£µ¹©wªº¦æ¨Æ¶µ¥Ø ID¡AµM«á¥ß§Y¶Ç°eµ¹¨Ï¥ÎªÌ¡A¦^¨ì¦æ¨Æ¶µ¥Ø­¶­±¤¤¡C



®Ä¯àijÃD

½Õ¾ã©Ê

¡@¡@ASP º}«Gªº¦a¤è¬O¡A¥¦¨Ï±o«Ø¥ßºô­¶§ó¥[ªº®e©ö¡CµM¦Ó¡A¦pªG±z·Q«Ø¥ß¤@­Ó¯à®e³\¦h¨Ï¥ÎªÌªººô¯¸¡A«h»Ý­n¤p¤ß¦a¼¶¼gµ{¦¡¡C¦b³o­Ó³¹¸`¤¤¡A§Ú·|°Q½×¤£¦Pªº¼W¥[¦¹ Web °ò¦¦æ¨Æ¾ä½Õ¾ã©Êªº¤èªk¡CÁöµM¬O¥H³o­ÓÀ³¥Îµ{¦¡¬°¨Ò¡A§Ú©Ò±Ô­zªº¤èªk¥i¥H¦b¥ô¦ó ASP ºô¯¸¤¤¼W¥[®Ä¯à¡C



SQL ³Ì¨Î¤Æ

¡@¡@­n¼W¶iºô¯¸ªº®Ä¯à¡A²³æªº¤èªk¬O¼W¥[±Æµ{ªí¤¤Äæ¦ìªº¯Á¤Þ¡C³o¼Ë·|¥[³t GetEvents ¹w¦sµ{¦¡¡A¦]¬°¥¦·|¦bµ¹©wªº¸ê®Æ¤¤·j´M¦æ¨Æ¶µ¥Ø¡C



¹ï©ó¤p«¬ºô¯¸¡ASQL ¥i¥H¦w¸Ë¹³¬O IIS ªº¦øªA¾¹¤W¡C¤@¥¹ºô¯¸¶}©l¦¨ªø¡A±z·|§Æ±æ±N SQL ²¾©¹¦Û¤vªº¦øªA¾¹¤¤¡C·í¦øªA«ùÄòªº¦¨ªø¡A±z·|§Æ±æ¼W¥[¼Æ³¡ IS ¦øªA¾¹¡A¥þ³¡«ü¦V¬Û¦Pªº SQL ¦øªA¾¹¡C¦pªG SQL ªº¬y¶q·¥«×ªº¦¨ªø¡A±z·|±N¸ê®Æ¤Á³Î¨ì¤£¦Pªº¦øªA¾¹¡C±z¥i¯à§Æ±æ±N³æ¼Æªº¤ë¥÷©ñ¨ì¤@³¡¦øªA¾¹¡A¦ÓÂù¼Æªº¤ë¥÷©ñ¨ì¥t¤@³¡¡C·íµM¡A±z¥i¥H­×§ï¦b header.asp ¤¤ªº GetDataConnection¡AÅý¥¦®Ú¾Ú¤ë¥÷µ¹©w¥¿½Tªº³s½u¡C



ASP ³Ì¨Î¤Æ

¡@¡@ASP Âà´«ªº¥D­n³Ì¨Î¤Æ¬O§Ö¨ú­¶­±¡AÅý¥¦­Ì¤£¥Î¨C¦¸³£­nÂà´«¡C­n³o¼Ë°µ¡A³Ì²³æªº¤èªk¬O³z¹L ASP Application ª«¥ó¡C±z¥i¥H«Ø³æªºÀx¦s HTML ¨ì¦³¤ë¥÷»P¦~¥÷ªºÀ³¥Îµ{¦¡ÅܼƤ¤ (¨Ò¦p¡ACalendar07-2000)¡CµM«á¡AÅã¥Ü¦æ¨Æ¾ä­¶­±®É¡C­º¥ýÀˬd¦æ¨Æ¾ä¬O§_¤w¸gÀx¦s¦bÀ³¥Îµ{¦¡ÅܼƤ¤¡A¦pªG¦³¡A²³æªºÂ^¨ú¥¦¡C³o¼Ë·|Àx¦s¸ô®|¨ì SQL ®Ø®æ¤¤¡A©³¤U¬O¤@¨ÇµêÀÀµ{¦¡½X¡AÅã¥Ü¥¦¦p¦ó¹B§@¡G



<<do header>>



ShowCalendar(nMonth, nYear)


<<do Footer>>

sub ShowCalendar(nMonth, nYear)



if Application(“Calendar?& nMonth & ??& nYear) = ? then

<<Build Calendar>>

Application(“Calendar?& nMonth & ??& nYear) = <<Calendar>>

End if



Response.Write Application(“Calendar?& nMonth & ??& nYear)

End sub


·íµM¡A·í Events.asp ­¶­±Åܧó¤ë¥÷¦æ¨Æ¶µ¥Ø®É¡A±z»Ý­n²MªÅ¤ë¥÷ªºÀ³¥Îµ{¦¡ÅܼơAÅýÅܧó¥i¥H±o¨ì¼vÅT¡C


¦w¥þ©Ê

¡@¡@¦³´X­Ó¤èªk¨Ó°õ¦æºô¯¸ªº¦w¥þ©Ê¡C¹ï©ó intranet ºô¯¸¡AMicrosoft Windows NTR ®Ú¾Ú±ÂÅv¡A¥i¥H³Ì²³æªº³]©w¡A¦]¬°±zªº¨Ï¥ÎªÌ³Ì¦³¥i¯à¤w¸gµn¤Jºô¸ô¡C±z¥i¯à­nÅý©Ò¦³ªº¨Ï¥ÎªÌÀ˵ø¦æ¨Æ¾ä­¶­±¡A¦ý¬O¥u¦³ºÞ²z­û¥i¥H¦s¨ú¨Ó·s¼W/²¾°£¦æ¨Æ¶µ¥Ø­¶¡C


¦pªG½]®Ö¬O¤@­Ó¦Ò¶q¡A±z¥i¥H²³æªº­×§ï AddEvent »P DeleteEvent µ{§Ç¡AÀx¦s¥¦­Ìªº¸ê°T¨ì½]®Öªí¤¤¡C¥t¥~¡A±z¥i¥H½T»{ IIS µn¤J¨C­Ó­¶­±ÂIÀ»ªº¬d¸ß¦r¦ê»P¨Ï¥ÎªÌ¤¤¡CµM«á¡A³z¹L¬ö¿ý²³æªº­åªR¡A¨Ó¨M©w½Ö¦b¤°»ò®É­Ô°µ¹L¤°»ò¡C


µ²½×

¡@¡@¦b³o½g¤å³¹¤¤¡A§Ú¤w¸g¥Ü½d¤F¦p¦ó³]©w Web °ò¦ªº¦æ¨Æ¾ä¡C§Úªº Web °ò¦ªº¦æ¨Æ¾ä«D±`²³æ¡A¦ý¬O¥i¥H»´©öªº©µ¦ù¦¨¬°§¹¾ã¥\¯àªººô¯¸¡C§Ú¤w¸g¤p¤ßªº±Ô­z«Ø¥ß Web °ò¦ªº¦æ¨Æ¾ä¤§¨BÆJ¡AÅýªì¾ÇªÌ¥i¥H°Ñ¾\ ASP¡BSQL »P ADO ªº°Ê§@¡C³Ì«á¡A§Ú¤]´£¨Ñ¤@¨Ç¦p¦óÅý³o­Óºô¯¸½Õ¾ã¦Ü©Ò»Ý½d³òªº¹ê¥Î«ØÄ³¡C¦pªG±z¦³µo²{¥ô¦ó¿ù»~¡A©Î¬O¦³¥ô¦ó¯à§ïµ½³o­Óµ{¦¡½Xªº«ØÄ³¡A½Ð¶Ç°e¹q¤l¶l¥ó¨ì semyan@hotmail.com¡C

© 2000 Microsoft Corporation. All rights reserved.
¥»½g¤å³¹µoªí©ó2001-01-15 00:00
¥Ø«e©|µL¥ô¦ó¦^ÂÐ
   

¦^ÂÐ
¦p­n¦^À³,½Ð¥ýµn¤J.