![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ситуация:
Я выбираю данные из таблицы, с двумя полями ID (ключевое Integer) и Name (Char(15)), используя компонент TClientDataSet. Код:
cdsSelect: TClientDataSet;
...
with cdsSelect do
begin
if Active then
cdsSelect.Close;
CommandText := 'Select ID, Name from TestTable';
Open;
end;Данные помещаю в локальный набор данных на форме: Код:
cdsLocal.Data := cdsSelect.Data; В определенный момент я вставляю новую запись: Код:
with cdsLocal do
begin
Insert;
FieldByName('ID').AsInteger := 1;
Post;
end;На Post возникает ошибка EDBClient 'Key violation'. Хочу обратить внимание, что я работаю именно с локальным набором, не имеющим связи с БД (портфель). Я пытался менять совойства: Код:
FieldDefs[0].Attributes := []; FieldDefs[0].Required; Fields[0].Required := False; Fields[0].ProviderFlags := []; Кто знает, в чем может быть проблема? |