Member 13706983 Ответов: 1

Как сэкономить время в базе данных C#


я хочу сохранить определенное время, используя datepicker в моей базе данных. Я использую тип данных nvarchar для определения времени.

Что я уже пробовал:

try
          {

              if (sqlCon.State == ConnectionState.Closed)
                  sqlCon.Open();
              if (btnEvSave.Text == "   Save")
              {
                  SqlCommand sqlCmd = new SqlCommand("EventAddorEdit", sqlCon);
                  sqlCmd.CommandType = CommandType.StoredProcedure;
                  sqlCmd.Parameters.AddWithValue("@mode", "Add");
                  sqlCmd.Parameters.AddWithValue("@EventID", 0);
                  sqlCmd.Parameters.AddWithValue("@EventTime", txtEvTime.Text.Trim());
                  sqlCmd.Parameters.AddWithValue("@EventVenue", txtEvVenue.Text.Trim());

                  sqlCmd.ExecuteNonQuery();
                  MessageBox.Show("Saved Successfully");


                  sqlCon.Close();

              }
          }
          catch (Exception ex)
          {
              MessageBox.Show("Must Fill all the Details");
          }
          finally
          {
               this.Close();
          }

F-ES Sitecore

Не экономьте время в полях varchar, всегда храните данные в типах полей, соответствующих тем данным, которые вы храните. Хранение дат, времени и т. д. в виде текста только должно вызвать у вас проблемы в будущем.

1 Ответов

Рейтинг:
2

OriginalGriff

Начните с отладчика: поставьте точку останова на линию

sqlCmd.ExecuteNonQuery();
и запустите свой код в отладчике. Когда он остановится в точке останова, посмотрите на содержимое переменных, которые вы только что установили в качестве параметров, обращая внимание на <pre>txtEvTime.Text</pre>
Что в нем содержится? Допустимо ли это время в текстовом формате? Если нет, то почему?
Если это так, то перешагните через инструкцию ExecuteNonQuery и посмотрите, что происходит. Идет ли он в блок улова? Если да, то посмотрите на исключение в ex и выясните, почему он пошел туда - там есть много информации, которая может вам помочь.

Достигает ли он вообще точки останова? Я бы очень подозрительно отнесся к этой линии:
if (btnEvSave.Text == "   Save")
Что выглядит весьма сомнительно...

Мы не можем сделать ничего из этого для вас - у нас нет никакого доступа к вашему коду, или данным, или SP, или ... так что вам придется собирать информацию для себя!


Maciej Los

Что ж... if (btnEvSave.Text.Trim() == "Save") выглядит лучше?
:смеяться:
Овации
Мацей

OriginalGriff

Ээээуууууу ... не очень много, нет ... :смеяться:
Хотя, к сожалению, это может сработать лучше.