Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод даных в DBLookUpComboBox, возникает проблема "BOF or EOF" 
V
    Опции темы
AleksandrH
Дата 20.5.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



На форме есть 2 DBlookupcombobox (дбкб1, дбкб2) данные в которые берутся с таблиц. 
В зависимости от выбраной записи в первом дбкб1 выводятся значения в дбкб2.


проблема состоит в том что если записи с дбкб1 нет соответсвенной в дбкб2, то выдается ошибка
"BOF или EОF имеет значение True либо текущеее значение удалено".
Как обратоботать ету ошибку чтобы выводило сообщение?







PM MAIL   Вверх
former
Дата 20.5.2010, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Цитата(AleksandrH @  20.5.2010,  12:01 Найти цитируемый пост)
проблема состоит в том что если записи с дбкб1 нет соответсвенной в дбкб2, то выдается ошибка
"BOF или EОF имеет значение True либо текущеее значение удалено".
Как обратоботать ету ошибку чтобы выводило сообщение?

Правильно, нарушаются целостность и непротиворечивость данных.
Тут не ошибку нужно обрабатывать, а правильно настраивать внешние ключи. Потомок должен удаляться при удалении родителя, или ему должен быть сопоставлен новый родитель до удаления.
СУБД какая?

Это сообщение отредактировал(а) former - 20.5.2010, 13:07


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
AleksandrH
Дата 20.5.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(former @  20.5.2010,  13:03 Найти цитируемый пост)
СУБД какая?

ACCESS.



Цитата(former @  20.5.2010,  13:03 Найти цитируемый пост)
правильно настраивать внешние ключи.


таблица1: ид, имя
таблица2: ид2, ид, имя_второе

в таблица2 masterfield - ид.


PM MAIL   Вверх
former
Дата 20.5.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Я имею виду это:
user posted image


Это сообщение отредактировал(а) former - 20.5.2010, 13:38


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
AleksandrH
Дата 20.5.2010, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извини, я не понимаю что ты хочешь сказать. :-(

Что с этими установками, что без них - не работает
PM MAIL   Вверх
former
Дата 20.5.2010, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Цитата(AleksandrH @  20.5.2010,  14:33 Найти цитируемый пост)
Извини, я не понимаю что ты хочешь сказать. :-(

Я хочу сказать, что нужно хотя бы с основами построения БД ознакомиться.
Ты пишешь:
Цитата(AleksandrH @  20.5.2010,  12:01 Найти цитируемый пост)
На форме есть 2 DBlookupcombobox (дбкб1, дбкб2) данные в которые берутся с таблиц. 
В зависимости от выбраной записи в первом дбкб1 выводятся значения в дбкб2.

Значит эти  таблицы должны быть связаны внешним ключом (FOREIGN KEY). Создание связи я привел на изображении. Это необходимо для обеспечения ссылочной целостности, т.е. при удалении записи из родительской таблицы tbl_a должны удаляться, связанные с ней внешним ключом, записи из таблицы tbl_b, что бы они не стали "осиротевшими". Поэтому у тебя и появляется ошибка - родительскую запись удалил, а связанные с ней записи из других таблиц "осиротели" (им не на что ссылаться). Так понятно?

P.S. Когда же вы начнете книги читать?

Это сообщение отредактировал(а) former - 20.5.2010, 16:32


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
AleksandrH
Дата 20.5.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



При чем здесь книжки, удаление родительской записи? smile 
FOREIGN KEY это поле "ид" которое одинаковое в двух таблицах.


Вопрос стоит о выборке данных а не об удалении связаных записей.

Таблица1
Ид: 1; 2; 3

Таблица2
Ид2: 1_1; 2_2; 3_3
Ид:   1; 1; 2 
Имя: Имя1; Имя2; Имя3


Выбираю в 1dblookupcomboboxe значение "1" в 2dblookupcombobox выводится "Имя1; Имя2"
Выбираю в 1dblookupcomboboxe значение "2" в 2dblookupcombobox выводится "Имя3"
Выбираю в 1dblookupcomboboxe значение "3" в 2dblookupcombobox ничего не выводится, програма выдает ошибку, потому что нет записей связанных с "3". (например, если в таблице1 классы а в таблице2 ученики. При выборе 1 класса - выведется список учеников, а при выборе 3 класса - ошибка, потому что класс есть, но без учеников(ну не успели додать, перевели, разформировали класс))


PM MAIL   Вверх
former
Дата 20.5.2010, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

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



Ну тогда выкладывай пример. Телепаты в отпуске.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
AleksandrH
Дата 21.5.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



former спс за "пинок" в нужном напрямлении  smile 

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

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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