ОК, вот сценарий.Я думаю, что это довольно часто, и я решил это в прошлой жизни, используя подход грубой силы, но я думаю, что должен быть лучший способ.
Учитывая упорядоченный список имен иПользовательский интерфейс, где пользователь может переупорядочивать, удалять, редактировать и добавлять имена в список, как бы вы обновили список, хранящийся в базе данных SQL?
Вот определение таблицы:
CREATE TABLE [dbo].[AssyLines](
[AssyLineID] [int] IDENTITY(1,1) NOT NULL,
[ShortName] [varchar](16) NOT NULL,
[LongName] [varchar](45) NOT NULL,
[Seq] [tinyint] NOT NULL,
CONSTRAINT [PK_AssyLines] PRIMARY KEY CLUSTERED
Что я хочу сделать, это прочитать все записи из таблицы и отобразить их в порядке следования в пользовательском интерфейсе.Затем пользователь может редактировать ShortName или LongName, изменить порядок списка, добавить новые записи или удалить существующие записи, а затем сохранить измененный список обратно в базу данных.
Это приложение клиент-сервер, если оно делаетлюбая разница.Служба WCF обрабатывает взаимодействие с базой данных, клиент просто отправляет массив записей в службу и из нее.
Мой грубый метод предусматривает блокировку таблицы, удаление всех записей и перезапись новых записей.к таблице - все внутри транзакции, конечно, с использованием хранимой процедуры и либо табличной переменной, либо временной таблицы.Грубый, но эффективный, но я не могу удержаться от ощущения, что есть довольно стандартный способ сделать это, не взламывая таблицу и не воссоздавая ее каждый раз, когда кто-то вносит незначительные правки.У меня есть 4 или 5 таких списков в приложении, над которым я сейчас работаю.
Спасибо, Дейв