Строка не была распознана как допустимая Дата-Время.
Мой запрос - это когда я создал веб-настройку своего веб-приложения. А затем запустите его на моем компьютере он работает нормально но когда я вхожу fromdate(ДД/ММ/гггг) и todate(ДД/ММ/гггг) в текстовый а потом отправляете его, тогда он выдает ошибку, что строка не была распознана как допустимая значение datetime.
Я хочу ввести формат даты, например ДД/ММ/гггг в textbox и сохранить гггг-ММ-ДД в базе данных.
Страница ошибки показана ниже.
Ошибка сервера в приложении '/DT'.
--------------------------------------------------------------------------------
Строка не была распознана как допустимая Дата-Время.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Exception Details: System.FormatException: String was not recognized as a valid DateTime. Source Error: Line 23: //DateTime dt1 = Convert.ToDateTime(TextBox1.Text.Trim()); Line 24: //DateTime dt2 = Convert.ToDateTime(TextBox2.Text.Trim()); Line 25: string dt1 = Convert.ToDateTime(TextBox1.Text.Trim()).ToString(); Line 26: string dt2 = Convert.ToDateTime(TextBox2.Text.Trim()).ToString(); Line 27: SqlConnection conn = new SqlConnection("Data Source=MAX9;Initial Catalog=Leave;User ID=sa;pwd=;"); Source File: c:\Inetpub\wwwroot\DT\Default2.aspx.cs Line: 25 Stack Trace: [FormatException: String was not recognized as a valid DateTime.] System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) +2838082 System.Convert.ToDateTime(String value) +98 Default2.Button1_Click(Object sender, EventArgs e) in c:\Inetpub\wwwroot\DT\Default2.aspx.cs:25 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.50727.3615; ASP.NET Version:2.0.50727.3618
Исходный код и хранимая процедура, которые я использовал на кнопке отправки
protected void Button1_Click(object sender, EventArgs e) { string dt1 =Convert.ToDateTime(TextBox1.Text.Trim()).ToString(); string dt2 =Convert.ToDateTime(TextBox2.Text.Trim()).ToString(); SqlConnection conn = new SqlConnection("Data Source=MAX9;Initial Catalog=Leave;User ID=sa;pwd=;"); SqlCommand cmd = new SqlCommand("insert_testtable", conn); conn.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@FromDate", SqlDbType.DateTime).Value = dt1; cmd.Parameters.Add("@ToDate", SqlDbType.DateTime).Value = dt2; try { cmd.ExecuteNonQuery(); lblMessage.Text = "Record inserted successfully"; } catch (Exception ex) { throw ex; } conn.Close(); } }
хранимая процедура
CREATE PROCEDURE [dbo].[insert_testtable] @FromDate datetime, @ToDate datetime AS insert into testtable values (@FromDate,@ToDate) GO
Пожалуйста, решите мой вопрос как можно скорее. Заранее спасибо.