Добавление данных в DataGridView. Автоинкремент

88
12 февраля 2021, 05:50

В базе данных (MS Access) таблица с двумя столбцами: Код и Название. Код на автоинкременте. Когда добавляешь значение (руками) в столбец Название, Код принимает отрицательное значение. Почему и как исправить?

Answer 1

Новые строки на стороне клиента создаются с временным отрицательным значением идентификатора, потому что AutoIncrementStep задаётся равным -1. Это гарантирует, что оно никогда не совпадёт с существующим идентификатором в базе данных, поскольку все другие строки имеют положительные идентификаторы.

Если сразу создавать положительное значение, то вставка в БД может завершиться с ошибкой.

Затем, когда строка вставляется в БД, создается постоянный уникальный идентификатор на стороне БД. После чего он извлекается при обновлении данных.

Использовать просто пустое значение (0, null и т. п.) на клиенте не получится в том случае, если имеются отношения предок-потомок между таблицами в датасете.

То есть это нормальное поведение и оно не должно вас беспокоить.

Retrieving Identity or Autonumber Values.

READ ALSO
Как писать unit тесты на класс работающий с файловой системой?

Как писать unit тесты на класс работающий с файловой системой?

У меня есть класс который работает с директориями и файламиК примеру в нем есть конструкции которые :

86
Что такое r и x в алгоритме протоколирования упрощённого калькулятора?

Что такое r и x в алгоритме протоколирования упрощённого калькулятора?

Пытаюсь разобраться в алгоритме протоколирования (в ListBox) и подсчёта калькулятора, но не понимаю одну вещьПо идее у нас есть r-первое число,...

89
Получить записи из группы Facebook

Получить записи из группы Facebook

Хочу получить новые или (если проще) все записи из группы фейсбукаСоздателям группы являюсь я

130