Delphi: TAdoTable.Insert не является вставкой? - PullRequest
1 голос
/ 28 мая 2010

У меня есть две таблицы ADO, связанные как таблицы master / details, tblCategory (master) и tblItems (details). Обе таблицы имеют свою сетку и отображаются в одной форме. У меня также есть средства управления данными (dbedits).

Скажем, в данный момент я нахожусь в: Category = Books, No of Items = 10 записей и указываю на номер записи 5 в сетке. Я хочу добавить новую запись в элемент, поэтому я использую:

tblItems.Insert;

Проблема заключается в том, что вместо добавления новой строки сетка и элементы управления, работающие с db, отображают текущую запись (запись № 5). Не совсем так, похоже, что запись тоже в режиме редактирования. После того как я отменил его и повторил команду «Вставить», только после этого появилась новая строка.

Как это исправить, поэтому каждый раз, когда я использую tblItems.Insert он всегда добавляет новую и пустую строку:)

1 Ответ

1 голос
/ 28 мая 2010

Неважно, я думаю, я знаю, что вызвало это. Это дБ осведомленные элементы управления. После команды вставки пользователь будет вводить данные. Это делает элемент управления осведомленным о БД получает фокус, и он автоматически устанавливает свою позицию для текущей записи и отображает ее.

Решение состоит в том, чтобы вместо этого использовать элементы управления без учета базы данных и программно установить поведение

...