Рейтинг:
2
Wendelius
Если я вас правильно понял, ответственность за предотвращение дубликатов должна лежать на сервере базы данных. Это должно быть принудительно применено с помощью ограничения первичного ключа или уникального ограничения. Для получения дополнительной информации см. Создание Уникальных Ограничений[^]
Теперь при попытке добавить вторую строку, содержащую точно такие же значения для ключевых столбцов, которые уже существуют в базе данных, вы получаете исключение. Это исключение должно быть правильно обработано. В зависимости от ситуации это может быть программная ошибка или вы можете сообщить пользователю, что данные уже существуют, если входные данные исходят от пользователя.
Рейтинг:
0
Maciej Los
моя проблема заключается в том, что когда я вставляю записи в первый раз, это работает, но когда я редактирую запись в то время, это дает проблему.
я не могу отредактировать какое-либо значение против этого панкарда.
Вы забыли упомянуть о методе, который используете для редактирования (обновления) записей. Кажется, вы используете только
INSERT
заявление. Для работы с базами данных необходимо использовать несколько операций, имеющих общее название:
МРАЗЬ[
^].
Для вставки (создания) данных используйте
ВСТАВЛЯТЬ[
^] заявление
Для чтения данных используйте
ВЫБИРАТЬ[
^] заявление
Для обновления (редактирования) данных используйте
ОБНОВЛЕНИЕ[
^] заявление
Чтобы удалить данные, используйте
УДАЛИТЬ[
^] заявление.
Чтобы избежать дубликатов, вы должны проверить, существует ли запись! Видеть:
Существует (Transact-SQL)[
^]
Подзапросы с существует[
^]
Подзапросы с не существует[
^]
ЕСЛИ...ELSE (Transact-SQL)[
^]
Для получения более подробной информации, пожалуйста, смотрите:
SQL: If Exists Update Else Insert-блог Джереми Кларка[
^]
manishss
выберите * из tblemployee, где pancard=@pancard
видите, я м обновлении записей, Когда я получаю ноль записей в запросе выше в случае updatation.
Maciej Los
Нет, это не так! Оператор SELECT, как я уже упоминал, используется для чтения данных, а не для обновления. Пожалуйста, внимательно прочтите мой ответ.
manishss
я рассказываю вам сценарий после сохранения записи в базе данных в первый раз у меня есть gridview на кнопке редактирования все поля пришли и предположим, что я хочу изменить имя с abc на xyz в этом случае я не могу редактировать, потому что я получаю запись из моего запроса select. этот запрос является общим как для insert, так и для update.
Maciej Los
i m updating records when i m getting zero record in above query in updatation case.
Вы не можете обновить запись, когда она не существует! В этом случае вы можете только добавить новую запись.
vani suresh
Можете ли вы поставить весь свой запрос на обновление?.Чтобы мы могли проверить, в чем проблема.
Maciej Los
Перейдите по ссылке После "для получения более подробной информации...". там вы найдете возможные запросы.