Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка: Недостаточно сведений ключевого поля для обновления


Plm ©   (2007-07-18 15:13:00) 

Добрый день.
Посоветуйте как избежать данную ошибку.
Данные отображаю через компонент DBGrid (ADOTable-> DataSourse -> DBGrid). Существует необходимость рефрешить данные.
На Close/Open, Refresh, Active false/true вылетает данная ошибка. Я так предпологаю, что она возникает из-за того, что в таблице нет Primary Key. Возможно ли как то обойти это? Или все же прийдется создать дополнительно колонку с счетчиком и назначить ей PK или одному из существующих полей?


SlymRO   (2007-07-19 05:11:00) [1]

как обычно... значение по умолчанию в таблице убери


Stanislav   (2007-07-18 17:26:00) [2]


> Или все же прийдется создать дополнительно колонку с счетчиком
> и назначить ей PK или одному из существующих полей?


А в чем сложность?


Ega23   (2007-07-18 17:22:00) [3]


> черезчур длинные строки вроде тоже, не уверен, а проверять
> не хочется


>255 символов


sniknik   (2007-07-18 17:21:00) [4]

ошибка говорит что есть...

перепроверься, и учти что блоб/мемо поля в условиях не участвуют (черезчур длинные строки вроде тоже, не уверен, а проверять не хочется).


Plm   (2007-07-18 17:04:00) [5]

На той таблице, что возникает ошибка, повторов тоже нет.


Ega23   (2007-07-18 16:05:00) [6]


> Самое удивительно то, что с другими такими же таблицами
> работает


Просто у них повторов в данных нет.


Plm   (2007-07-18 16:00:00) [7]

Самое удивительно то, что с другими такими же таблицами работает


Ega23   (2007-07-18 15:33:00) [8]

Приводи таблицы к 3-й нормальной форме.


sniknik   (2007-07-18 15:31:00) [9]

> Возможно ли как то обойти это?
добавить Primary Key? если неприемлемо то скорее всего нет. попробуй сам составить запрос на обновление, не надеясь на ADO, сможешь так чтобы для любой записи в таблице на обновление шла гарантированно 1 запись... можеш слать рекламацию мелкософту.

> или одному из существующих полей?
попробуй... если они там у тебя по сумме полей не уникальны (ошибка говорит об этом) то найти единичное уникальное поле будет проблематично... ;)


Наверх

Титульная страница Поиск, карта сайта Написать письмо