Как я могу проверить, содержит ли таблица выбранный номер? - PullRequest
0 голосов
/ 04 июня 2018

У меня есть 2 таблицы в моей базе данных.В своем приложении я могу выбрать запись (клиент) и связать ее с заказом.У меня также есть возможность удалить клиентов, но когда я удаляю клиента со ссылкой на заказ, происходит сбой.Как я могу проверить, существует ли идентификатор выбранного элемента из списка в таблице заказа?Я хочу показать сообщение об ошибке.

Это мой код:

reservering deResv = new reservering();

var item = (chalet)lbHuis.SelectedItem;

if (deResv.HuisId == item.Id)
        {
            MessageBox.Show("Verwijder eerst de reserveringen van dit huis.");
        }
        else
        {

            var delItem = from chalet in db.chalets
                          where chalet.Id == item.Id
                          select chalet;


            db.chalets.DeleteOnSubmit(item);
            db.SubmitChanges();
        }

резервирование - это имя таблицы заказов.

шале - это имя (в данном случае) таблицы свойств,это действует так же, как таблица клиента.

lbHuis - это имя списка.

1 Ответ

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

Я бы запросил таблицу, в которой вы храните элементы заказа, прежде чем пытаться удалить, чтобы вы могли показать то сообщение об ошибке, которое вы хотите.Метод, который я использовал в прошлом, выглядел бы следующим образом:

int foundID = -1;
using (SqlConnection conn = new SqlConnection("<your connection string>")) 
{
    conn.Open();
    SqlCommand cmd = new SqlCommand("SELECT id FROM reserving WHERE id=@orderID;", conn);
    cmd.Parameters.AddWithValue("@orderID", item.Id);
    using (SqlDataReader reader = cmd.ExecuteReader())
    {
        if (reader.Read())
        {
            foundID = reader["id"];
        }
    }
    conn.Close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...