年,月和日参数描述了不可表示的DateTime

时间:2013-01-12 00:34:44

标签: c# datetime

当单击表单的提交按钮而不填写任何表单字段时,它应返回验证横幅panel1.visible它适用于所有其他字段,除了生育控制日期,这是3个不同的选择框日,月和年。 a ect ct ...因为默认值是01/01/0001 00:00:00给出错误。如何验证日期时间???

Stack Trace:

at System.DateTime.DateToTicks(Int32 year, Int32 month, Int32 day)
at System.DateTime..ctor(Int32 year, Int32 month, Int32 day)
at _Default.sb_Click(Object sender, EventArgs e) in k:\WebSites\WebSite10\Default.aspx.cs:line 27
at System.Web.UI.ImageClickEventHandler.Invoke(Object sender, ImageClickEventArgs e)
at System.Web.UI.HtmlControls.HtmlInputImage.OnServerClick(ImageClickEventArgs e)
at System.Web.UI.HtmlControls.HtmlInputImage.RaisePostBackEvent(String eventArgument)
at System.Web.UI.HtmlControls.HtmlInputImage.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Server Side: 

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

protected void sb_Click(object sender, EventArgs e)
{

DateTime age = new DateTime(Convert.ToInt32(year.Value), Convert.ToInt32(date.Value), Convert.ToInt32(day.Value));

SqlCommand cmd = new SqlCommand("insert into Register values ( '" + em.Value + "','" + ln.Value + "','" + select.Value + "','" + fn.Value + "','" + pwr.Value + "','" + age + "','" + pw.Value + "')", con);

if (em.Value == "" || ln.Value == "" || select.Value == "" || fn.Value == "" || pwr.Value == "" || pw.Value == "")
{

panel1.Visible = true;
con.Close();
}

else

cmd.ExecuteNonQuery();
con.Close();





Client Side: 

<select name="month" id="date" runat="server">
<option value="0">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>

<select name="day" id="day" runat="server">
<option value="0">Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>

<select name="year" id="year" runat="server">
<option value="0">Year</option>
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
<option value="1996">1996</option>
<option value="1995">1995</option>
<option value="1994">1994</option>
<option value="1993">1993</option>
<option value="1992">1992</option>
<option value="1991">1991</option>
<option value="1990">1990</option>
<option value="1989">1989</option>
<option value="1988">1988</option>
<option value="1987">1987</option>
<option value="1986">1986</option>
<option value="1985">1985</option>
<option value="1984">1984</option>
<option value="1983">1983</option>
<option value="1982">1982</option>
<option value="1981">1981</option>
<option value="1980">1980</option>
<option value="1979">1979</option>
<option value="1978">1978</option>
<option value="1977">1977</option>
<option value="1976">1976</option>
<option value="1975">1975</option>
<option value="1974">1974</option>
<option value="1973">1973</option>
<option value="1972">1972</option>
<option value="1971">1971</option>
<option value="1970">1970</option>
<option value="1969">1969</option>
<option value="1968">1968</option>
<option value="1967">1967</option>
<option value="1966">1966</option>
<option value="1965">1965</option>
<option value="1964">1964</option>
<option value="1963">1963</option>
<option value="1962">1962</option>
<option value="1961">1961</option>
<option value="1960">1960</option>
<option value="1959">1959</option>
<option value="1958">1958</option>
<option value="1957">1957</option>
<option value="1956">1956</option>
<option value="1955">1955</option>
<option value="1954">1954</option>
<option value="1953">1953</option>
<option value="1952">1952</option>
<option value="1951">1951</option>
<option value="1950">1950</option>
<option value="1949">1949</option>
<option value="1948">1948</option>
<option value="1947">1947</option>
<option value="1946">1946</option>
<option value="1945">1945</option>
<option value="1944">1944</option>
<option value="1943">1943</option>
<option value="1942">1942</option>
<option value="1941">1941</option>
<option value="1940">1940</option>
<option value="1939">1939</option>
<option value="1938">1938</option>
<option value="1937">1937</option>
<option value="1936">1936</option>
<option value="1935">1935</option>
<option value="1934">1934</option>
<option value="1933">1933</option>
<option value="1932">1932</option>
<option value="1931">1931</option>
<option value="1930">1930</option>
<option value="1929">1929</option>
<option value="1928">1928</option>
<option value="1927">1927</option>
<option value="1926">1926</option>
<option value="1925">1925</option>
<option value="1924">1924</option>
<option value="1923">1923</option>
<option value="1922">1922</option>
<option value="1921">1921</option>
<option value="1920">1920</option>
<option value="1919">1919</option>
<option value="1918">1918</option>
<option value="1917">1917</option>
<option value="1916">1916</option>
<option value="1915">1915</option>
<option value="1914">1914</option>
<option value="1913">1913</option>
<option value="1912">1912</option>
<option value="1911">1911</option>
<option value="1910">1910</option>
<option value="1909">1909</option>
</select>

1 个答案:

答案 0 :(得分:2)

if (em.Value == "" || ln.Value == "" || select.Value == "" || fn.Value == "" || pwr.Value == "" || pw.Value == "" || year.Value == "0" || date.Value == "0" || day.Value == "0" )
{
    panel1.Visible = true;
}
else
{
    DateTime age = new DateTime(Convert.ToInt32(year.Value), Convert.ToInt32(date.Value), Convert.ToInt32(day.Value));

    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
    SqlCommand cmd = new SqlCommand("insert into Register values ( '" + em.Value + "','" + ln.Value + "','" + select.Value + "','" + fn.Value + "','" + pwr.Value + "','" + age + "','" + pw.Value + "')", con);
    cmd.ExecuteNonQuery();
    con.Close();   
}