asp处理长整型这么难吗?!!!!
用asp读取oracle中的出生日期字段(数值型,有的超过32767)遇到长整型时原来的函数便出错,用clng()处理变量提示“无效使用null:clng”困惑!迷茫!!无助!!!求解!!!!!拜托!!!!!!
函数如下:
FUNCTION showbirthday(csrqs)
dim tian,jiliang,yue,eryue,rns,rnys,pns,pnys,pingnian,runnian,niancha
dim year,month,date
pingnian=365
runnian=365*4+1
niancha=(365*4+1)*365
rns=cint(csrqs)\runnian '出错处
rnys=cint(csrqs) mod runnian '出错处
pns=rnys\pingnian
pnys=rnys mod pingnian
if rnys=0 then
year=1899+rns*4
month=12
date=31
else
select case pns
case 0
year=1899+rns*4+1
tian=rnys
case 1
if pnys<=1 then
year=1899+rns*4+pns
tian=rnys
else
year=1899+rns*4+pns+1
tian=pnys-1
end if
case 2
if pnys<=1 then
year=1899+rns*4+pns
tian=rnys-366
else
year=1899+rns*4+pns+1
tian=pnys-1
end if
case 3
if pnys<=1 then
year=1899+rns*4+pns
tian=rnys-366-365
else
year=1899+rns*4+pns+1
tian=pnys-1
end if
case 4
year=1899+rns*4
tian=365-1
end select
end if
yue=1
jiliang=31
if tian=0 then
year=year-1
month=12
date=31
else
if (year mod 4)=0 then
eryue=29
else
eryue=28
end if
do while (yue<12) and (tian>jiliang)
select case yue
case 1,3,5,7,8,10
jiliang=31
case 4,6,9,11
jiliang=30
case 2
jiliang=eryue
end select
if tian>jiliang then
yue=yue+1
tian=tian-jiliang
end if
loop
month=yue
date=tian
end if
showbirthday=cstr(year)&"年"&cstr(month)&"月"&cstr(date)&"日"
end function