Установка условий в C # для базы данных, чтобы убедиться, что даты в столбцах не должны совпадать с выбором в HTML-форме - PullRequest
0 голосов
/ 04 июля 2018

У меня есть Asp.Net проект MVC, в котором я подключил свою базу данных к своему проекту, и все работает нормально, когда все данные сортируются на сервер MicrosofSQL ql по включенному идентификатору.

Теперь проблема, с которой я сталкиваюсь, состоит в том, что у меня есть два столбца даты в моей таблице базы данных с именем «pickupDate» и «dropoffDate», данные, которые хранятся в моих столбцах, - это выбор, который кто-то делает в текстовом поле даты. Теперь допустим, что кто-то выбирает дату из pickupDate, которая уже была выбрана и сохранена в базе данных.

Как я могу установить условие не равным какой-либо дате, которая хранится в столбцах ботов базы данных?

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

CarRentalSQLEntities5 db = new CarRentalSQLEntities5();
                    RentalSchedule rentaltbl = new RentalSchedule();
                    rentaltbl.Car = model.Car;
                    rentaltbl.pickupDate = model.pickupDate.ToString();
                    rentaltbl.dropoffDate = model.dropoffDate.ToString();
                    rentaltbl.PhoneNum = model.PhoneNum;
                    rentaltbl.Email = model.Email;

                    db.RentalSchedules.Add(rentaltbl);
                    db.SaveChanges();

                    int lastestid = rentaltbl.ID;

                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return RedirectToAction("HomePage");

            }

            return View(model);
        }

1 Ответ

0 голосов
/ 04 июля 2018

Установить столбец pickupDate как уникальный в определении таблицы базы данных. Затем поместите свой сегмент кода для хранения данных внутри блока try {}, а затем перехватите исключение нарушения ограничения внутри блока catch {}, как показано ниже:

  catch(SqlException ex)
    {
       if(ex.Number == 2627) // Unique constraint error
       {
          // throw a user readable exception message
       }
    }

Вы можете проверить другой код SqlException на сайте sql. Я показал пример, который работает под sqlserver и EF6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...