Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: DBEdit  (Прочитано 15665 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
ShadowCard
Гость
« : 08-11-2004 10:05 » 

Уважаемые, прошу вас помочь, ибо я в тупике:
При соединении базы данных с программой Делфи я не могу через DBEdit внести в ее поля новые значения. Прошу подсказать: это возможно? Если это не возможно прошу объяснить без RTFMа: на фига нужно поле DBEdit?

И еще один вопрос: есть поле DBListBox, вроде бы и связал его с необходимым столбцом базы, а всплывающий список не появляется. В чем моя ошибка?
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 15-11-2004 14:42 » 

что за база, и каким образом что с чем связывается?

причин может быть несколько: таблица открыта в режиме read-only, TDataSet выставлен в режим read-only (AutoEdit = FALSE) и т.д.

DBListBox - откуда там "всплывающий" список? в этом компоненте ручками заносятся возможные значения полей, и пользователь при вставке / изменении записи выбирает нужное. чтобы список формировался на основе другой таблицы, используются компоненты TDbLookupListBox и TDbLookupComboBox.
Записан

ShadowCard
Гость
« Ответ #2 : 18-11-2004 08:59 » 

Цитата: x77
что за база, и каким образом что с чем связывается?

причин может быть несколько: таблица открыта в режиме read-only, TDataSet выставлен в режим read-only (AutoEdit = FALSE) и т.д.

DBListBox - откуда там "всплывающий" список? в этом компоненте ручками заносятся возможные значения полей, и пользователь при вставке / изменении записи выбирает нужное. чтобы список формировался на основе другой таблицы, используются компоненты TDbLookupListBox и TDbLookupComboBox.


1) База создана в IBExpert, связь идет по цепочке IBDatabase1 (база) - IBTransaction1 - IBDataSet (каждый со своей таблицей) - DataSource (у каждого свой IBDataSet). Каждый DBEdit связан со своей таблицей с помощью определенного DataSource.

2) Таблица открывается (при запуске программы) через роль, а роль имеет права и insert и delete операций. TDataSet имеет параметр  (AutoEdit = ТRUE). Но поля Insert SQL, Modify SQL не заполнены.

3) Спасибо за совет, но даже вставив TDbLookupListBox не могу добиться получения результата - всплывающего списка из поля таблицы БД.
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #3 : 21-11-2004 18:35 » 

ShadowCard, а как заполнены поля у лукапа? listfield, listsource, keyfield, etc.?
Записан

ShadowCard
Гость
« Ответ #4 : 22-11-2004 08:15 » 

Поля DBLookupListBox:
listfield = C_REITHING
listfield = 0
listsource = DataSource4
keyfield = K_EST

datafield =
datasourse =

Но почему-то даже DBEdit не могу настроить для записи в таблицу. Может ли быть где-то в программе неправильное соединение, в результате чего теперь не могу записывать в базу данных? Если да, то в каких узлах?

Соединил DBEdit с базой не через IBDataSet, а через IBTable - появилась возможность вносить значения. Соединяю обратно - опять не могу ничего вписать в поле.
То же самое происходит с DBLookupListBox.
То есть, у меня ошибка где-то в IBDataSet. Только где ошибка, как ни искал - не смог найти. Жаль
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #5 : 24-11-2004 09:21 » 

ShadowCard, для использования TIbDataSet в режиме редактирования надо заполнять ModifySql. либо назначить ему UpdateObject, т.е. TUpdateSql, и заполнить это свойство там. TIbTable этого не требует.
Записан

ShadowCard
Гость
« Ответ #6 : 30-11-2004 13:45 » 

x77, благодарю Вас за помощь.
Заполнил ModifySql и InsertSql - заработало.
DBLookupListBox не работало, т.к. keyfield было не определено и datafield = C_REITHING, а datasourse = DataSource4, что выдавало цикличность само на себя. Без Вашей помощи я бы не обратил на это внимания.
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #7 : 30-11-2004 19:08 » new

ShadowCard, был рад помочь Улыбаюсь
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines