2012-01-04 140 views
1

我有下拉列表称为签入日期。 (年份,日期,月份)。从下拉列表中插入日期到访问数据库

<td>Check-in Date</td> 
<td>:</td> 
<td><select name="inmonth" id="inmonth"> 
<option value="-1">Month</option> 
<option value="0">January</option> 
<option value="1">February</option> 
<option value="2">March</option> 
<option value="3">April</option> 
<option value="4">May</option> 
<option value="5">June</option> 
<option value="6">July</option> 
<option value="7">August</option> 
<option value="8">September</option> 
<option value="9">October</option> 
<option value="10">November</option> 
<option value="11">December</option> 
</select> 
     &nbsp; 
     <select name="indate" id="indate"> 
     <option value="-1">Date</option> 
     <option value="0">1</option> 
     <option value="1">2</option> 
     <option value="2">3</option> 
     <option value="3">4</option> 
     <option value="4">5</option> 
     <option value="5">6</option> 
     <option value="6">7</option> 
     <option value="7">8</option> 
     <option value="8">9</option> 
     <option value="9">10</option> 
     <option value="10">11</option> 
     <option value="11">12</option> 
     <option value="12">13</option> 
     <option value="13">14</option> 
     <option value="14">15</option> 
     <option value="15">16</option> 
     <option value="16">17</option> 
     <option value="17">18</option> 
     <option value="18">19</option> 
     <option value="19">20</option> 
     <option value="20">21</option> 
     <option value="21">22</option> 
     <option value="22">23</option> 
     <option value="23">24</option> 
     <option value="24">25</option> 
     <option value="25">26</option> 
     <option value="26">27</option> 
     <option value="27">28</option> 
     <option value="28">29</option> 
     <option value="29">30</option> 
     <option value="30">31</option> 
     </select> 
&nbsp; 
<select name="inyear" id="inyear"> 
<option value="0">Year</option> 
<option value="2012">2012</option> 
<option value="2013">2013</option> 
<option value="2014">2014</option> 
<option value="2015">2015</option> 
<option value="2011">2016</option> 
</select></td> 

我想在将其插入到访问数据库之前首先将inmonth,inyear和indate作为短日期转换。我应该使用什么语法?顺便说一句,我使用ASP。

+0

如果你使用asp,那么你应该给它加上asp标签......我做到了,我确定这就是你的意思.. – 2012-01-04 14:35:22

+0

umm,我以前用错了标签。我的意思是说如何将它转换成经典的asp。 – Azie 2012-01-04 15:07:47

回答

0

我假设你正在选择下拉项的值在回传的话,

看看你能简单地选择验证他们的价值观和分析它们为有效日期之后。

您可以使用DateTime.Parse或DateTime.TryParse作为它,或者简单地将每个下拉列表的值传递给DateTime构造函数,然后在将数据提交给数据库之前,可以调用DateTime.ToShortDateString()以获取所需的日期。

0

这应该采取的输入,并将其转换为一个日期像2010-01-04YYYY-MM-DD):

Dim inmonth, indate, inyear, thedate 

inmonth = CInt(Request.Form("inmonth")) + 1 
indate = CInt(Request.Form("indate")) + 1 
inyear = Request.Form("inyear") 

thedate = inyear & "-" & Right(CStr(inmonth + 100), 2) & "-" & Right(CStr(indate + 100), 2) 

If NOT IsDate(thedate) Then 
    Response.Write "Invalid date" 
Else 
    ' do something else ... ' 
End If 

注:Right(CStr(variable + 100), 2)代码片段是添加一个前导零。

+0

嗨,我试图做像你告诉我,但我得到的数据类型不匹配错误CInt.This是我当前的代码 '如果的request.form(“提交”)=“提交” then' \t '暗淡inyear,铟酸,inmonth,theindate' \t 'inmonth = CINT(的request.form( “inmonth”))+ 1' '铟酸= CINT(的request.form( “铟酸”))+ 1' 'inyear (CStr(inmonth + 100),2)&“ - ”&Right(CStr(indate + 100),2)'request.form(“inyear”)' \t 'theindate = inyear& \t 'SQL =“插入保留(Checkin_Date)值(#”& theindate&“#)”' \t \t 'connection.execute SQL'' – Azie 2012-01-05 02:57:52

+0

'CInt'不是必需的,所以如果它给出问题,您可以将其删除。 – stealthyninja 2012-01-05 07:29:05

+0

它的工作原理!谢谢!! :) – Azie 2012-01-05 09:51:50