XRushdy Ответов: 1

Как сохранить несколько строк в базе данных(в одной ячейке)


C#, SQL Server.
Как сохранить несколько строк в базе данных(в одной ячейке) и извлечь их в winform в разных текстовых полях?

Что я уже пробовал:

могу ли я отделить их знаком типа ($$), чтобы помочь мне программно распределить их по разным текстовым полям?

[no name]

Ну, вы начинаете с действительно плохого дизайна....

"могу ли я отделить их по знаку", да, вы можете.... Вы действительно пробовали?

XRushdy

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

[no name]

Просить у людей Совета по проекту, о котором они ничего не знают, вряд ли вам поможет. Лично у меня была бы таблица рецептов, на которую я бы ссылался из своего стола пациентов.

XRushdy

да, но вы правы, я чувствую, что это будет плохой дизайн, поэтому я ищу другую идею

XRushdy

есть ли способ сохранить эти названия лекарств в столбце рецепта в таблице пациентов?

1 Ответов

Рейтинг:
5

OriginalGriff

Не делай этого. Вы можете, это не сложно-новички часто делают это с помощью столбца, содержащего значения, разделенные запятыми. Но... это плохая идея, потому что, хотя ее легко вставить и тривиально кодировать, она вызывает огромную головную боль в будущем, и к тому времени уже слишком поздно ее менять, и вам придется жить с проблемами.
Например, предположим, что у вас есть три значения, разделенные символом '|': "John Smith|12 Green Lane|Morcombe", которые отлично работают, и для их разделения легко использовать Split в C#. Но что будет, когда он переедет на Пич-Пай-стрит? Чтобы изменить его, вы должны вытащить строку из базы данных, разделить ее, изменить строку, снова соединить ее и вернуть обратно в базу данных.

Вместо этого создайте вторую таблицу:

ID        CustName     CustAddress     CustTown
1234    John Smith   12 Green Lane     Morcombe

Затем вы включаете столбец внешнего ключа в свою основную таблицу со ссылкой на него по столбцу ID.
Когда вы хотите изменить адрес, вы просто выпускаете обновление в БД, ссылающееся на правильный идентификатор, и все готово.
И когда вы хотите получить информацию, вы используете хороший простой выбор с соединением, и вы получаете соответствующие данные в отдельных столбцах, готовых быть привязанными непосредственно к текстовым полям.