ASP网站制作之ASP+javascript的完全的日历利用
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。asp+|日历第一步:保留以下文件为:CALENDAR.ASP<%@LANGUAGE=VBScript%>
<%OptionExplicit%>
<%
FunctionsFont(iSize,sFace,sColor,bScale)
DimsOutputStr
sOutputStr="<FONT"
ifsFace""then
sOutputStr=sOutputStr&"FACE="&sFace&""
else
sOutputStr=sOutputStr&"FACE=Helv"
endif
ifiSize=""then
iSize=1
endif
ifbScalethen
iSize=cInt(iSize*1)
endif
sOutputStr=sOutputStr&"SIZE="&iSize
ifsColor""then
sOutputStr=sOutputStr&"COLOR="&sColor
endif
sOutputStr=sOutputStr&">"
sFont=sOutputStr
EndFunction
OnErrorResumeNext
Dimdatecntrl,Dy,Mo,Yr,nextmonth,startwith,thisMo,thisYr,thisDate,the_type
DimprevMonthLastDate,currMonthLastDate,i,j,lastnum,AnyDate,default_value
datecntrl=Request("object")
default_value=request("value")
the_type=request("type")
ifthe_type"datetime"then
the_type="date"
endif
ifdefault_value=""then
Yr=year(date)
Mo=month(date)
Dy=day(date)
else
dimpos1
dimdeal_value
deal_value=default_value
pos1=instr(deal_value,"-")
Yr=cint(mid(deal_value,1,pos1-1))
deal_value=mid(deal_value,pos1+1)
pos1=instr(deal_value,"-")
Mo=cint(mid(deal_value,1,pos1-1))
iftrim(the_type)="date"then
Dy=cint(mid(deal_value,pos1+1))
else
dimH,M,S
deal_value=mid(deal_value,pos1+1)
pos1=instr(deal_value,"")
Dy=cint(mid(deal_value,1,pos1-1))
deal_value=mid(deal_value,pos1+1)
pos1=instr(deal_value,":")
H=cint(mid(deal_value,1,pos1-1))
deal_value=mid(deal_value,pos1+1)
pos1=instr(deal_value,":")
M=cint(mid(deal_value,1,pos1-1))
S=cint(mid(deal_value,pos1+1))
endif
endif
nextmonth=false
%>
<HTML>
<HEAD>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<metaname="GENERATOR"content="MicrosoftFrontPage4.0">
<metaname="ProgId"content="FrontPage.Editor.Document">
<styletype="text/css">
A
{FONT-SIZE:13px;COLOR:#000000;TEXT-DECORATION:none}
A:hover
{COLOR:#ff0000;
}
</style>
<TITLE>日历</TITLE>
<SCRIPTLANGUAGE="JavaScript">
//反省字符串是不是为日期,前往值:false、true
functionf_chkDate(datestr)
{
varlthdatestr
if(datestr!="")
lthdatestr=datestr.length;
else
lthdatestr=0;
vartmpy="";
vartmpm="";
vartmpd="";
//vardatestr;
varstatus;
status=0;
if(lthdatestr==0)
returnfalse;
if(lthdatestr>10)
returnfalse;
for(i=0;i<lthdatestr;i++)
{if(datestr.charAt(i)==-)
{
status++;
}
if(status>2)
{
//alert("Invalidformatofdate!");
returnfalse;
}
if((status==0)&&(datestr.charAt(i)!=-))
{
tmpy=tmpy+datestr.charAt(i)
}
if((status==1)&&(datestr.charAt(i)!=-))
{
tmpm=tmpm+datestr.charAt(i)
}
if((status==2)&&(datestr.charAt(i)!=-))
{
tmpd=tmpd+datestr.charAt(i)
}
}
year=newString(tmpy);
month=newString(tmpm);
day=newString(tmpd);
//tempdate=newString(year+month+day);
//alert(tempdate);
if((tmpy.length!=4)||(tmpm.length>2)||(tmpd.length>2))
{
//alert("Invalidformatofdate!");
returnfalse;
}
if(!((1<=month)&&(12>=month)&&(31>=day)&&(1<=day)))
{
//alert("Invalidmonthorday!");
returnfalse;
}
if(!((year%4)==0)&&(month==2)&&(day==29))
{
//alert("Thisisnotaleapyear!");
returnfalse;
}
if</p>Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 掌握asp的特性而且一定要知道为什么。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
页:
[1]