Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при добалении в таблицу, mssql2000, ado, dbgrid 
:(
    Опции темы
adrone
Дата 9.5.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 9.5.2006

Репутация: нет
Всего: нет



Проблема в следующем:
есть таблица с двумя полями 'name' varchar[50], 'description' varchar[100], без ключей.

1. заношу в поле 'name' три одинаковых названия naam1 - все Ок,
2. заношу в поле 'description', напротив одного из naam1  описание и после перехода на следующую строку выдает ошибку:
'влияет на слишком большое число строк'.
Ошибка ясна, не может добавить для текущей записи т.к. 3 одинаковых значения в первом поле..

Подскажите как сделать, чтоб это стало возможным (данные нужно вносить именно вручную) ? 
PM MAIL   Вверх
Vit
Дата 9.5.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Никак. Вам надо установить ключ. Таблица без ключей - это нонсенс, такого быть никогда не должно - установите хотя бы автоинкремент. То что происходит объясняется очень просто - даже работая как-будто с обычным гридом всё равно общение с сервером идёт при помощи SQL запросов. Если в таблице 2 одинаковые записи то сервер просто не может идентифицировать нужную строку для изменения. Следует помнить что НИКАКОЙ НУМЕРАЦИИ или естественной сортироки данных НЕТ. Для сервера первая и вторая запись в данном случае абсолютно одинаковы.  В данном случае, если имена должны повторятся, то надо добавить автоинкрементное поле или автогненерируемый GUID и сделать по нему ключ. Если имена не должны повторятся то надо сделать ключ по именам, если имена могут быть одинаковыми но с разнами description то надо сделать составной ключ Имя+Описание. Главное правило - ТАБЛИЦ БЕЗ КЛЮЧЕЙ БЫТЬ НЕ ДОЛЖНО НИКОГДА 


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
adrone
Дата 9.5.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 9.5.2006

Репутация: нет
Всего: нет



Большое спасибо   smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.