|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.12.2009, 20:08 | #1 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
Как связать DBComboBox и DBGrid , чтобы...
Есть svyaz_table:TSimpleDataSet.
CommandType = ctQuery. ACTIVE = TRUE. В ней 2 атрибута CODE_HOBBI и FIO. Привязываю HOBBI_SELECT: (DBComboBox) к SVYAZ_TABLE. Заполняю : Код:
Код:
Код:
InternalDataSet : Cannot perform this operation on an open dataset. И чё с этим делать не знаю. У нас принято оформлять код специальным тэгом - кнопочка "#". Модератор
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось mihali4; 25.12.2009 в 13:13. |
12.12.2009, 20:35 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Зачем выиспользуете DBComboBox ? Какой в этом глубинный смысл ?
Используйте простой ComboBox и выборку делайте по его событию OnChange... И перед установкой нового текста SQL не забывайте закрывать датасет. А на время заполнения ComboBox блокируйте обработчик OnChange. |
12.12.2009, 20:40 | #3 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
спасибо, щас попробую.
21:28 вот задумался и не понял такой вещи - как это "БЛОКИРОВАТЬ OnChange"?!?!?! как это сделать с помощью кода ? (5)_(5) установил обычный комбобокс . закатал код : Код:
У нас принято оформлять код специальным тэгом - кнопочка "#". Модератор У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом. Модератор
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось mihali4; 25.12.2009 в 13:16. |
12.12.2009, 22:31 | #4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
А вот в procedure TWin2kAppForm.CChange(Sender: TObject); самым первым пишем if myflag then exit; Все... Теперь вот это. Код:
Код:
1. Что такое Svyaz_Table 2. Что такое Svyaz_Table.DataSet |
|
12.12.2009, 22:37 | #5 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
svyaz_table: TSimpleDataSet.
а svyaz_table.DataSet - это свойство TSimpleDataSet. в модуле SimpleDS находится. TSimpleDataSet = class(TCustomClientDataSet) ... property DataSet: TInternalSQLDataSet read FDataSet; ... Svyaz_Table.DataSet.CommandText вписываю потому что он не воспринимает просто Svyaz_Table.CommandText - вот так. У компонента Svyaz_Table : TSimpleDataSet посмотрел свойства в объектном инспекторе. Там вкладка DataSet , а в этой вкладке свойство CommandText . Вот поэтому и решил попробовать прописать через DataSet. 23:00 даже с блокировкой OnChange он не хочет работать. Эх, пипец. Если хочешь, могу скинуть либо исходник, либо программный код полностью с картинками. 23:08 при трасировке ошибка вылетает как раз после строки Svyaz_Table.DataSet.CommandText:='S ELECT * FROM SVYAZ WHERE CODE_HOBBI='+ Win2kAppForm.C.TEXT + ';'; значит косяк в том , что нельзя Svyaz_Table.DataSet.CommandText присвоить какое-то значение. Только вот не понимаю, какого же хрена в объектном инспекторе его можно изменить, а при работе программы нет? и как же это исправить? У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом. Модератор
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось mihali4; 25.12.2009 в 13:16. |
12.12.2009, 23:41 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Выкладывайте сюда. Только саму базу не забудьте.
Включите расширенный режим - там "скрепка"... |
12.12.2009, 23:45 | #7 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
вот собственно вся мутатень.
Если помог, проси поставить минус. Будь оригинален!
|
13.12.2009, 00:05 | #8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
У меня не стоит ни Интербэйс, ни Файрберд...
А кстати, DataSet.CommandType:=ctQuery установлена? Попробуйте просто в режиме дизайна самому компоненту назначить какой-нибудь простой запросик и попытайтесь сделать Active:=True; Да, и еще. Все соединения с базой должны быть закрыты и устанавливаться в нужное время только после запуска программы. Последний раз редактировалось mihali4; 13.12.2009 в 00:10. |
13.12.2009, 00:23 | #9 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
DataSet.CommandType:=ctQuery установлена.
В режиме дизайна он запрос исполняет без проблем, ну то есть Active устанавливается в True после того, как в CommandText ввожу запрос, а вот при работе с формой - нет. Вот это то это меня и убивает.
Если помог, проси поставить минус. Будь оригинален!
|
13.12.2009, 00:36 | #10 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Встаньте брякой на строку
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сделать так, чтобы в DBGrid выводилась таблица Excel | Илюха | БД в Delphi | 10 | 06.05.2010 15:59 |
как связать таблицы в access, чтобы данные автоматически копировались? | rudess | Microsoft Office Access | 1 | 15.08.2009 16:22 |
Как сделать так чтобы dBCOMBOBOX...... | Gareevbo | Общие вопросы Delphi | 1 | 08.06.2009 19:59 |
Как сделать чтобы во время поиска по таблице не было видно перемещения по dbgrid? | alxsev | БД в Delphi | 4 | 10.04.2009 19:03 |
связать прогу с outlook, чтобы автоматически отбирались письма с определенной темой | Katrin | Общие вопросы Delphi | 1 | 02.07.2007 13:29 |