Ошибка преобразования при преобразовании даты и/или времени из символьной строки
Всем доброго дня..
Я пытаюсь вставить/сохранить значение dropdownlist в свою базу данных.
Однако он всегда выходит с ошибкой, которая "преобразование не удалось при преобразовании даты и/или времени из символьной строки..."
Я пробовал такие способы, как обращение.ToDateTime() и DateTime.Parse() в моих кодах, но ошибка все равно возникает.
И да.. тип данных для "classStart" и "classEnd" - это DATETIME.
Заранее спасибо за помощь.
Что я уже пробовал:
Вот мои коды...
protected void Page_Load(object sender, EventArgs e) { // Set the start time in dropdownlist timedd & timedd2 DateTime StartTime = DateTime.MinValue.AddHours(8); // Set the end time in dropdownlist timedd & timedd2 DateTime EndTime = DateTime.MinValue.AddDays(1); for (var i = StartTime; i <= EndTime; i = i.AddMinutes(30)) { timedd.Items.Add(i.ToShortTimeString()); timedd2.Items.Add(i.ToShortTimeString()); } } protected void saveSchedule_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["db"].ConnectionString); try { conn.Open(); string addquery = "INSERT INTO [Schedule] ([className],[classStart],[classEnd],[classDes]) VALUES (@className, @classStart, @classEnd, @classDes)"; SqlCommand cmd = new SqlCommand(addquery, conn); cmd.Parameters.AddWithValue("@className", className.Text); cmd.Parameters.AddWithValue("@classStart", Convert.ToDateTime(timedd.SelectedItem.Value)); cmd.Parameters.AddWithValue("@classEnd", Convert.ToDateTime(timedd2.SelectedItem.Value)); cmd.Parameters.AddWithValue("@classDes", classdes.Text); int rs = cmd.ExecuteNonQuery(); if (rs == 1) { result1.Visible = true; result1.Text = "Record Has Been Added Successfully !"; Response.AddHeader("REFRESH", "5; URL = Schedule.aspx"); } else { result1.Visible = true; result1.Text = "Please try again..."; } } catch (Exception ex) { Response.Write("Error: " + ex.ToString()); }
Richard MacCutchan
Вы пытаетесь обратить в свою веру SelectedItem.Value
, который, скорее всего, не является строкой. Попробуйте Text
вместо этого собственность.
Member 14075800
Я попробовал. и произошла та же ошибка. В любом случае, все равно большое вам спасибо.
Richard MacCutchan
Извините, мой предыдущий (удаленный) ответ был неправильным, проблема, которую я подозреваю, заключается в моем комментарии выше.
Member 14075800
Ладно, все в порядке. спасибо снова.
Я чувствую себя очень запутанным, так как я пытался использовать точно такой же код в новой веб-форме, он может быть вставлен хорошо без какой-либо ошибки преобразования. Но вернемся к реальной веб-форме, она выходит с ошибкой.. Я действительно понятия не имею об этом, может быть, мне стоит проверить еще раз ... хм...
Richard MacCutchan
Вам нужно перестать гадать и посмотреть, какие именно данные возвращаются из SelectedItem. Пока вы не увидите, что вы пытаетесь преобразовать, вы не решите проблему.