웹 애플리케이션을 개발함으로써 웹 기반 캘린더는 점점 더 많은 관심을 끌고 있으며 웹 캘린더는 중요한 이벤트를 표시하는 데 사용될 수 있습니다. 이 기사는 잘못되었습니다. 새로운 기술 채널 편집기는 IIS 및 SQL Server에서 ASP를 사용하여 매우 간단한 웹 기반 캘린더를 생성하는 방법을 소개하고 다른 사람과 캘린더를 공유하거나 사람들의 캘린더 그룹을 관리 할 수 있습니다.
SQL 서버를 설정하십시오
웹 캘린더의 경우 서버 측의 이벤트의 특성을 나타내는 텍스트 문자열 만 저장하면 문자열의 길이가 최대 100 자입니다. 디자인 소스 코드는 다음과 같습니다.
Calendar.sql
- 테이블을 만듭니다
테이블 일정을 만듭니다
(
IdSchedule Smallint Identity 1 차 키,
dtdate SmallDateTime NOT NULL,
vcevent varchar (100) null
))
가다
-저장된 절차
GetSchedule (@nmonth tinyint, @nyear smallint) 생성
~처럼
idschedule, convert (varchar, datepart (dd, dtdate)) 'nday', vcevent를 선택하십시오
일정에서
Where DatePart (yy, dtdate) = @nyear and datePart (mm, dtdate) = @nmonth
DatePart (dd, dtdate)의 주문
가다
Procedure Addevent 만들기 (@vcdate varchar (20), @vcevent varchar (100))
~처럼
일정을 삽입하십시오
@vcdate, @vcevent를 선택하십시오
가다
프로 시저 생성 deleteevent (@idschedule smallint)
~처럼
idschedule = @idschedule이있는 일정을 삭제합니다
가다
ASP 클라이언트 설계
다음 그림은 웹 캘린더의 주요 사용자 인터페이스로, 사용자가 예정된 이벤트를 확인할 수 있습니다. 또한 바닥의 링크를 사용하여 달에는 달력 주위를 뒤집습니다.
ASP의 구현 코드는 다음과 같습니다.
header.asp
<@ language = "vbscrip"
enablesessionstate = false %>
<%
'목적 : 헤더에는 모든 페이지를 시작하는 데 사용되는 파일이 포함되어 있습니다.
'또한 글로벌 기능도 포함됩니다
옵션 명시 적
응답 .buffer = true
응답 .expires = 0
Sub Doheader (strtitle)
%>
<html>
<헤드>
<meta http-equiv = "content-type"content = "text/html; charset = gb2312">
<title> 이벤트 캘린더 - < %= strtitle %> </title>
</head>
<body bgcolor = "화이트"link = "blue"link = "blue"vlink = "blue">
<BaseFont Face = "Verdana, Arial">
<centry> <h1> 이벤트 캘린더 </h1>
<h3> < %= strtitle %> </h3>
<%
종료 서브
함수 getDataconnection ()
Dim Oconn, Strconn
set oconn = server.createobject ( "adodb.connection")
strconn = "제공자 = sqloledb; data source = adspm; 초기 카탈로그 = teamweb;"
strconn = strconn && "user id = teamweb; password = x"
OCONN. OPEN STRCONN
getDataconnection = OCONN을 설정하십시오
엔드 기능
%>
ADO를 사용하면 ASP 페이지를 SQL 데이터베이스에 쉽게 연결할 수 있습니다. 먼저 데이터베이스에 대한 연결을 만들어야합니다. 레코드 세트를 얻으려면 연결 객체의 실행 메소드를 호출하여 실행하려는 명령의 텍스트 문자열을 전달하고 레코드 세트를 사용할 수있게되면 반복 할 수 있습니다. Header.asp에는 데이터 연결을 얻기위한 함수가 포함되어 있으므로 데이터 소스가 변경되면 연결 정보 (서버, 사용자 및 비밀번호)를 편집 할 위치가 하나만 있습니다. 결과적으로 설정 명령을 사용하여 함수 끝에 새 연결을 전달해야합니다.
성능을 최적화하십시오
ASP를 사용하면 웹 페이지를 쉽게 구축 할 수 있지만 많은 사용자를 수용 할 수있는 사이트를 구축하려면 코딩에 대해 신중하게 생각해야합니다. 아래에서 저자는 웹 캘린더의 확장 성을 향상시키기위한 몇 가지 방법을 소개하며, 이는 ASP 기반 웹 사이트의 성능을 향상시키는 데 사용될 수 있습니다.
1.SQL 최적화
현장 성능을 향상시키는 쉬운 방법은 일정 테이블의 날짜 필드에 인덱스를 추가하여 주어진 날짜 사이를 조회하여 저장된 GetEvents의 절차 속도를 높이는 것입니다.
작은 사이트의 경우 동일한 서버에 SQL 및 II를 설치할 수 있습니다. 사이트 방문이 증가하기 시작하면 SQL을 자체 서버로 옮길 수 있습니다. 방문이 더 커지면 동일한 SQL 서버를 가리키는 여러 IIS 서버를 추가 할 수 있습니다. SQL Server의 트래픽이 지나치게 성장하는 경우 데이터를 다른 서버로 분할 할 수도 있고, 하나의 서버와 다른 서버에 몇 개월을 할당 할 수 있습니다. 물론 Header.asp에서 getDataconnection을 수정하여 이번 달을 기준으로 올바른 연결을 제공해야합니다.
2. 최적화
ASP 해석의 주요 최적화 방법은 캐시 된 페이지를 활용하여 모든 읽기를 해석 할 필요없이 해석되도록하는 것입니다. 이를 수행하는 가장 쉬운 방법은 ASP 응용 프로그램 객체를 사용하는 것입니다. 이렇게하려면 HTML을 월 및 연도 이름을 가진 응용 프로그램 변수 (예 : Calendar07-2000)에 저장합니다. 그런 다음 이벤트 캘린더 페이지가 표시되면 먼저 응용 프로그램 변수에 캘린더가 이미 저장되었는지 확인하면 웹 사이트의 쿼리 프로세스가 크게 속도를 높입니다. 다음 코드는 작업 프로세스를 보여줍니다.
<< 헤더 do >>
Showcalendar (Nmonth, Nyear)
<< 바닥 글 >>
서브 쇼 칼렌 다 (NMONTH, NYEAR)
IF IF APPLICATE ( "캘린더"&& nmonth && "-"&& nyear) = ""그런 다음
<< 빌드 캘린더 >>
응용 프로그램 ( "캘린더"&& nmonth && "-"&& nyear) = << calendar >>
끝 If
응답. 응용 프로그램 ( "캘린더"&& nmonth && "-"&& nyear)
종료 서브
물론, 이벤트 페이지에서 한 달 동안 이벤트를 변경할 때 해당 이벤트의 변경 사항을 반영하기 위해 해당 월의 응용 프로그램 변수를 지우야합니다.
보안
이 사이트에서 보안을 달성하는 방법에는 여러 가지가 있습니다. 인트라넷 사이트의 경우 사용자가 네트워크에 로그인 될 가능성이 높기 때문에 Windows NT 기반 검증이 가장 쉽습니다. 모든 사용자가 이벤트 캘린더 페이지를 볼 수 있지만 관리자 만 이벤트 추가/제거 페이지에 액세스 할 수 있습니다.
이 기사는 웹 기반 이벤트 캘린더를 구현하기위한 ASP 및 SQL 방법을 소개합니다. 나는 모두가 그것을 이해한다고 믿는다. 더 많은 기술 컨텐츠를 배우려면 잘못된 새로운 기술 채널에 계속주의를 기울이십시오!