Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.04.2007, 14:51
Holy Holy вне форума
Новичок
 
Регистрация: 31.07.2006
Сообщения: 55
Репутация: 10
По умолчанию 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 := [];
Ошибка осталась.

Кто знает, в чем может быть проблема?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter