Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

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

Его нужно настроить на 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
Репутация: 10
По умолчанию

ясно. но у меня 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,842
Репутация: 6832
По умолчанию

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

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

icq: 7935888
По умолчанию

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

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

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

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

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

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

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

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

icq: 7935888
По умолчанию

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

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с 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 15:06
КНОПКИ : Почему приходится щелкать 3 раза ? Andr180nag JavaScript, Ajax 3 24.07.2008 20:24


10:43.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru