Добрый день! Я делаю небольшую программу WPF, используя SQL. У меня есть таблица Zoo, таблица Animal и ZooAnimal, которая представляет собой комбинацию из 2 других таблиц. Таким образом, идея заключается в том, что при нажатии на зоопарк должна быть информация о животных, расположенных в конкретном зоопарке + некоторые другие функции.
Я столкнулся с проблемой при реализации кнопки «Удалить животное». Он должен удалить выбранного животного из таблицы ZooAnimal, но я не знаю, какой SQL код должен быть использован для этого.
Я пытался так:
private void removeAnimal_Click(object sender, RoutedEventArgs e)
{
string query = "delete AnimalZoo Set ZooId = @ZooId where AnimalId = @AnimalId";
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
command.Parameters.AddWithValue("@ZooId", listZoos.SelectedValue);
command.Parameters.AddWithValue("@AnimalId", listAssociatedAnimals.SelectedValue);
command.ExecuteScalar();
connection.Close();
showAssociatedAnimals();
}
Я буду будьте очень рады получить любую помощь по этому вопросу.
Вот как выглядит интерфейс WPF:
База данных выглядит следующим образом:
Определение таблицы ZooAnimal:
CREATE TABLE [dbo].[ZooAnimal] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[ZooId] INT NOT NULL,
[AnimalId] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [AnimalFK] FOREIGN KEY ([AnimalId]) REFERENCES [dbo].[Animal] ([Id]) ON DELETE CASCADE,
CONSTRAINT [ZooFK] FOREIGN KEY ([ZooId]) REFERENCES [dbo].[Zoo] ([Id]) ON DELETE CASCADE
);