2012-01-04 100 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