обновить базу данных, в которой нет столбца PK - PullRequest
0 голосов
/ 23 июля 2010

Хорошая работа: возможно ли обновить базу данных, у которой нет столбца первичного ключа, с помощью таблицы данных? (В программе winform) Я использую sql express 2008 и хочу сделать это с помощью набора данных.Приветствия

Ответы [ 3 ]

0 голосов
/ 23 июля 2010

Вам все еще нужен уникальный столбец или комбинация столбцов, чтобы различать различные строки, которые вы собираетесь обновить.В конце дня DataLayer, который используется для доступа к данным, просто сделает обычное sql-обновление / вставку ваших данных.Просто, чтобы спросить вас, но ваша модель данных кажется сломанной.Я имею в виду, что первичный ключ или хотя бы уникальный столбец будет предпочтительнее в любом случае.

0 голосов
/ 23 июля 2010

Все дело в том, откуда на самом деле берутся ваши данные, будь то наборы данных с простым-старым-sql, какой-то ORM (NHibernate или Entity-Framework или что-то еще), типизированные наборы данных, linq-2-sql ...

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

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

0 голосов
/ 23 июля 2010

Не зная значительного количества о том, что именно вы делаете и как вы решаете свою проблему, простой ответ.Да…

Сетка данных в платформе .Net позволяет связывать объекты с открытыми свойствами и реализовывать пользовательские методы выбора и обновления.Поэтому он позволяет вам реализовать свой собственный метод обновления, если это необходимо, и позволяет выполнять обновление на основе любого столбца в вашей базовой базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...