Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

IBQuery [D6, IB6.x]


Ptr ©   (2002-06-14 15:16:00) 

Помогите делитанту, pls...
Задача отобразить нужное поле, имя которого заносится в FieldName: ShortString;

Пишу код:
with IBQuery do
begin
DataSource := DSTable;
Close;
SQL.Clear;
SQL.Add("select distinct " + FieldName + " from ИМЯ_ТАБЛИЦЫ");
try
Open;
except
on E: Exception do MessageDlg(E.Message, mtError,[mbOk], 0);
end;
end;
Беда в том, что первый раз выполняется, в второй раз (при изменении FieldName ругается: "Field "Старое поле" not found". Не пойму откуда она его берет...


Ptr   (2002-06-14 16:12:00) [1]

СПАСИБО !!!


Kaban   (2002-06-14 16:10:00) [2]

и такое случается


Ptr   (2002-06-14 16:08:00) [3]

воспльзовался советом "Kaban" и переписал ничего не меняя, будете смеяться но все работает ...


Ptr   (2002-06-14 16:04:00) [4]

Спасибо друзья!
Конечно я переопределяю приявязку DBLookupComboBox.
Попробую воспльзоваться советом "Kaban" и переписать... Еще раз спасибо за участие.


Black Cat   (2002-06-14 16:01:00) [5]

Так, наверное DBLookupComboBox остается привязанным к старому полю


Kaban   (2002-06-14 16:00:00) [6]

тем не менее, такого быть не должно. пробуйте.
где-то сидит глупая ошибка
попробуйте удалить все и написать заного. иногда помогает


Ptr   (2002-06-14 15:58:00) [7]

Пробывал. (Убирал ее совсем) Эта строка ничего не меняет. (к сожалению)


Kaban   (2002-06-14 15:52:00) [8]

так может DSTable.DataSet := IBQuery
Впрочем вам виднее, я бы по крайней мере попробовал без этой строчки, она у меня сильные сомнения вызывает


Ptr   (2002-06-14 15:49:00) [9]

В Grids необходимо открывать DBLookupCombo со списком всех значений по данному полю (подобие Excel). Поэтому и DBLookupCombo.LookUpTable связан с IBQuery. Только за этим.


Kaban   (2002-06-14 15:41:00) [10]

а зачем вообще нужно DataSource := DSTable?


Ptr   (2002-06-14 15:40:00) [11]

Это и обидно... Но все равно спасибо за идеи...


Kaban   (2002-06-14 15:38:00) [12]

Бред какой-то. ошибка настолько тупа(без обид), что ее не видно. такие труднее всего ловятся


Ptr   (2002-06-14 15:37:00) [13]

Может что координально поменять ???


Ptr   (2002-06-14 15:36:00) [14]

DataSource := DSTable;
Вообще убрал. Поставил явно в форме. НЕ ПОМОГАЕТ !!!


Kaban   (2002-06-14 15:33:00) [15]

а если
DataSource := DSTable;
Close;
местами поменять или вообще первое вынести за пределы процедуры?


Ptr   (2002-06-14 15:28:00) [16]

Prepare не помогает... Обидно, что IBQuery.Fields.Count равно 0.
Странно и не понятно...........


masik   (2002-06-14 15:23:00) [17]

Конкретно ответить не могу, но по моему это связаный DataSource.
Попробуй "Prepare" перед открытием


Наверх

Титульная страница Поиск, карта сайта Написать письмо