|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ClientDataSet и 'Key violation'
Ситуация:
Я выбираю данные из таблицы, с двумя полями 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 := []; Кто знает, в чем может быть проблема? |