请教大家asp与SQL server的date 型数据的操作问题。
我有这样一个程序,是向数据库中分别插入年,月,日
这是添加页面:
<select name= "year ">
<option value= "2007 "> 2007 </option>
<option value= "2008 "> 2008 </option>
</select>
年
<select name= "month ">
<option value= "01 "> 1 </option>
<option value= "02 "> 2 </option>
...
</select>
月
<select name= "date ">
<option value= "01 "> 1 </option>
<option value= "02 "> 2 </option>
<option value= "03 "> 3 </option>
...
</select> 日
我是这样处理的:
<%
intYear=request.Form( "year ")
intMonth=request.Form( "month ")
intDate=request.Form( "date ")
ymd=intYear& "- "&intMonth& "- "&intDate
sql= "insert into [table] (ymd) values( ' "&ymd& " ') "
%>
在“修改页面”出了问题:
1.如何把年月日分别取出来赋给对应的 <select> .
2.用mid()函数时
<%
ymd=rs( "ymd "
intYear=mid(ymd,1,4)
intMonth=mid(ymd,6,2)
intDate=mid(ymd,9,2)
%>
在数据库中的格式是这样的 2008-1-2而不是2008-01-02.
所以mid()函数就有时不好用。这个问题怎么解决?请大家帮忙!
------解决方案--------------------土办法:写个函数判断下
MsgBox setNum(3) '调用示例
function setNum(p_strNum)
dim strRtn
If(CInt(p_strNum) <10) Then
strRtn= "0 "&CStr(p_strNum)
Else
strRtn=p_strNum
End If
setNum=strRtn
end function
------解决方案--------------------把我写的函数加上,然后把你以上的代码改为即可:
<%
ymd=rs( "ymd "
intYear=mid(ymd,1,4)
intMonth=setNum(mid(ymd,6,2))
intDate=setNum(mid(ymd,9,2))
%>
------解决方案--------------------select_year=year(rs( "ymd "))
select_month=month(rs( "ymd "))
select_day=day(rs( "ymd "))
------解决方案--------------------呵呵,不好意思,没看清题目
接上面的再判断一下是否大于10不就好了,小于10的,前面加个“0”
------解决方案--------------------ymd = split(rs( "ymd "), "- ")
intYear=ymd(0)
intMonth=ymd(1)
intDay=ymd(2)