Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2010, 02:20   #1
red88888
 
Регистрация: 03.08.2009
Сообщений: 7
По умолчанию Почему неактивны кнопки редактирования в DBNavigator?

Всем привет!
На форме лежит DBNavigator, Query, DataSource и несколько DBMemo, в которые выводятся данные типа Мемо из базы. Так вот, на навигаторе кнопки перемещения работают, а вставка/удаление/редактирование и остальные не активные. почему так?
Раньше пару раз им пользовался - проблем не было...
Заранее спасибо!
red88888 вне форума Ответить с цитированием
Старый 15.07.2010, 03:21   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Проверьте, чтобы у Вас DataSource1 был настроен на Table1. Тогда, если записи есть в БД, кнокпи станут активными.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 15.07.2010, 08:06   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
а вставка/удаление/редактирование и остальные не активные.
Если память не изменяет - DBNavigator не работает с Query.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2010, 08:52   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Его нужно настроить на DataSource1, который должен быть настроен на Table1. Если DataSoource1 не настроен на Table1, а на Query1, то очевидно что кнопки не будут работать, т.к. в таком случае получается, что DBNavogator1 настроен на DataSet, который не находится в режиме редактирования, а ожидает выполения запроса от Query1, на который настроен DataSource1, на который же и настроен DBNavigator1. Поэтому, DBNavigator1 настраивается на DataSource1=Table1
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 15.07.2010, 12:42   #5
red88888
 
Регистрация: 03.08.2009
Сообщений: 7
По умолчанию

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

тут еще один вопрос возник. хотел поставить свойство requestlive в query в положение True, а он мне говорит table is read only. Хотя в BDE Open Mode стоит на Read/Write.
в чем тут может быть проблема?

а query я использую потому что там собирается вид (объединение) из нескольких таблиц. насколько я понимаю, Table так делать не умеет.

Так как сделать, чтобы все как надо работало? Хотя бы чтобы можно было редактировать поля DBmemo. А кнопочку "сохранить" я сам могу написать.

Последний раз редактировалось Stilet; 15.07.2010 в 14:40.
red88888 вне форума Ответить с цитированием
Старый 15.07.2010, 14:46   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Хм... Вот чесно сейчас попробовал подключиться к Акцессовской базе через ADO, и запросом обработать две таблицы. DBNavigator поставил и в нем все кнопки сработали
успешно, так что вышенаписанное мной прощу считать неточным ИМХО.

Может это просто сам BDE не может так работать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.07.2010, 14:56   #7
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от red88888 Посмотреть сообщение
ясно. но у меня query выбирает вид (объединение) из базы из нескольких таблиц. Table, насколько я понимаю, так делать не умеет. Так как же поступить, чтобы все работало?

тут еще один вопрос возник. хотел поставить свойство requestlive в query в положение True, а он мне говорит table is read only. Хотя в BDE Open Mode стоит на Read/Write.
в чем тут может быть проблема?

а query я использую потому что там собирается вид (объединение) из нескольких таблиц. насколько я понимаю, Table так делать не умеет.

Так как сделать, чтобы все как надо работало? Хотя бы чтобы можно было редактировать поля DBmemo. А кнопочку "сохранить" я сам могу написать.
в том и причина - если запрос из одной таблицы то тебе разрешено редактировать и кнопки в навигаторе доступны

если из нескольких таблиц - то неизвестно что и куда вставлять при добавлении записи и кнопки отключены

надо использовать TUpdateSQL

ну и от базы все зависит - я иногда делаю представления внутри базы и на них триггеры для раскидывания добавленных значений по местам.
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 15.07.2010, 15:25   #8
red88888
 
Регистрация: 03.08.2009
Сообщений: 7
По умолчанию

Сейчас попробовал сделать через ADO. Кнопки навигатора стали активные, но они не работают. Курсор стоит в поле ввода (пробовал и dbedit и dbmemo), но на нажатие кнопок не реагирует. При попытке удалить запись появляется сообщение "недостаточно сведений ключевого поля для обновления"
Неужели кроме как сделать вид в базе нету другого способа?
red88888 вне форума Ответить с цитированием
Старый 15.07.2010, 15:29   #9
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от red88888 Посмотреть сообщение
Сейчас попробовал сделать через ADO. Кнопки навигатора стали активные, но они не работают. Курсор стоит в поле ввода (пробовал и dbedit и dbmemo), но на нажатие кнопок не реагирует. При попытке удалить запись появляется сообщение "недостаточно сведений ключевого поля для обновления"
Неужели кроме как сделать вид в базе нету другого способа?
TUpdateSQL
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 15.07.2010, 15:36   #10
red88888
 
Регистрация: 03.08.2009
Сообщений: 7
По умолчанию

А где находится данный компонент не подскажите в 7 delphi?
red88888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с DBNavigator Stranger333 БД в Delphi 2 05.07.2010 20:19
Работа с DBNavigator GhostBZ БД в Delphi 13 03.09.2009 12:16
DBNavigator feel Помощь студентам 7 02.04.2009 16:17
DBNavigator wolf950 Помощь студентам 11 07.12.2008 14:06
КНОПКИ : Почему приходится щелкать 3 раза ? Andr180nag JavaScript, Ajax 3 24.07.2008 20:24