Проверка бд на контакт в C#

175
12 февраля 2018, 01:26

Как проверить в catch контакт на наличие одного и того же телефона: Если добавляемый номер телефона существует, то выдать ошибку.

 public bool Insert (contactClass c)
    {
        bool isSuccess = false;
        SqlConnection conn = new SqlConnection(myconnstrng);
        try
        {
            string sql = "INSERT INTO [TContactPersons] ([Ім`я], [Прізвище], [Телефон], [Адреса], [Група]) VALUES(N'" + c.FirstName+ "', N'" + c.LastName + "', N'" + c.PhoneNumber + "', N'" + c.Address.Trim() + "', N'" + c.Other + "')";
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            int rows = cmd.ExecuteNonQuery();
            if (rows>0)
            {
                isSuccess = true;
            }
            else
            {
                isSuccess = false;
            }
        }
        catch (Exception)
        {
            throw;
        }
        finally
        {
            conn.Close();
        }
        return isSuccess;
    }
Answer 1

Подобные вещи так не делаются. Вам придётся перехватывать код ошибки, парсить. Код будет хрупким (зависеть от кода внешних библиотек майкрософт, которые могут неожиданно поменяться), будет сложно проверять правильность сразу нескольких полей (не только телефон, но и, допустим, емейл)

Правильно делать это следующим образом. Проверки должны выполняться ПЕРЕД вставкой в базу. Кроме того, можно сразу сделать уникальный индекс в базе по полям, куда нельзя вставлять дубликаты.

READ ALSO
Общение клиента и сервера по Tcp

Общение клиента и сервера по Tcp

Необходимо реализовать общение между клиентом и сервером, с помощью TcpClientКлиент отправляет на сервер запрос типа "дай мне такую то информацию",...

179
ASP.NET(MVC) бесплатный?

ASP.NET(MVC) бесплатный?

ЗдравствуйтеВозникла необходимость создать сайт и больше всего мне подходит ASP

149
Помогите пожалуйста [требует правки]

Помогите пожалуйста [требует правки]

Visual Studio 2017 не распознает private GameManager();Помогите что делать?

132
Проблема с событием CellValueChanged TreeList

Проблема с событием CellValueChanged TreeList

В дерево загружаю объекты

123