Я бьюсь головой об этом, и я уверен, что мне просто не хватает чего-то очевидного, но ...
У меня есть таблица в базе данных клиента, это в основном:
Item_Set_Key int
Item_1 bit
Notes_1 nvarchar(80)
Item_2 bit
Notes_2 nvarchar(80)
Item_3 bit
Notes_3 nvarchar(80)
...
В каждой записи содержится 99 элементов, и изменение схемы невозможно (другие внешние факторы).
Однако, чтобы отобразить его во всем, что напоминает пользователю что-то интеллектуально, мы должны ОТКЛЮЧИТЬ его (через представление) следующим образом:
SELECT i.Item_Set_Key, i.Item_Number, i.Selected, i.Item, i2.Notes, i2.Note
FROM (
SELECT Item_Set_Key, SUBSTRING (Item, 6, 2) AS Item_Number, Selected, Item
FROM Item_Set
UNPIVOT (Selected FOR Item IN
(Item_1, Item_2, Item_3, Item_4, Item_5, ...)
) as u
) AS i
LEFT JOIN (
SELECT Item_Set_Key, SUBSTRING (Note, 7, 2) AS Item_Number, Notes
FROM Item_Set
UNPIVOT (Notes FOR Note IN
(Notes_1, Notes_2, Notes_3, Notes_4, Notes_5, ...)
) as n
) AS i2 ON i2.Item_Set_Key = i.Item_Set_Key
AND i2.Item_Number = i.Item_Number
Я делаю стандартную привязку этого к сетке. Тем не менее, я в некоторой растерянности относительно того, как создать для него команду UpdateCommand, потому что текст должен явно указывать имя столбца в SET, но имена столбцов являются динамическими в столбцах Item и Note, и я могу установить только все столбцы, поскольку каждая запись будет содержать данные только для одной пары элемент / нота.
Идеи