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

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

При выполнении SQL запроса выдает ошибку. Помогите!!! [D7, Access]


FShadow ©   (2005-11-17 23:33:00) 

TADOQuery.Sql.Add('Select * From Employees Where ParentID=(Select EmployeesID From Employees Where FirstName=''Отдел продаж'')');
TADOQuery.ExecSql;

При его выполнении выдает ошибку дословно "Project raised exception class EOleException with 'Параметр ParentID не имеет значения по умолчанию'. Process stoped".

Подскажите, какое значение по умалчанию у параметра, когда я не создаю параметрического запроса. Это запрос с использованием подзапроса, а не параметр???


Sergey13   (2005-11-21 09:33:00) [1]

2 [9] FShadow   (18.11.05 16:08)
А причем тут "дерево структуры предприятия" и "кто работает в Отделе продаж". Это несколько разные вещи, ИМХО, список работающих и структура предприятия. И уж вообще нет смысла искать через текстовое поле. Если ты занаешь название отдела, то вроде логично и то, что ты знаешь и его ИД. Не так?


FShadow   (2005-11-18 16:08:00) [2]

Спасибо всем за ответы.
Разобрался почему. EmployeesID поле со свойством счётчик, поэтому ничего не помогало.

>Sergey13 ©
структура таблицы следующая

EmployeesID счетчик (уникальный номер)
ParentID
FirstName

Все что надо для построения дерева структуры предприятия.
Вот мне и надо узнать кто работает в Отделе продаж а это можно сделать зная EmployeesID "родителя".


Sergey13   (2005-11-18 11:23:00) [3]

2[7] Johnmen ©   (18.11.05 10:43)
>Ну я не думаю, что у конторы м.б. более одного Отдела продаж...:)
У конторы может быть много отделов и не все могут называться уникально. Кроме того таблица называется Employees, т.е. там могут быть и не отделы вовсе. 8-)


Johnmen   (2005-11-18 10:43:00) [4]

>Sergey13 ©   (18.11.05 10:24) [6]

Ну я не думаю, что у конторы м.б. более одного Отдела продаж...:)


Sergey13   (2005-11-18 10:24:00) [5]

2[3] Johnmen ©   (18.11.05 09:18)
>= тоже нормально. В данном случае.
Только если FirstName уникально, т.е. альтернативный ключ. А про это не сказано.

ЗЫ: вообще странное имя для служащего. 8-)


Johnmen   (2005-11-18 10:18:00) [6]

>Особенно в случае, если подзапрос вернет несколько запмсей, или не вернет не одной :)

Я же сказал - "В данном случае."

>= в этом случае синтаксически неверно

Почему?


ЮЮ   (2005-11-18 09:32:00) [7]

>= тоже нормально. В данном случае.

Особенно в случае, если подзапрос вернет несколько запмсей, или не вернет не одной :)

= в этом случае синтаксически неверно


Johnmen   (2005-11-18 09:18:00) [8]

>ЮЮ ©   (18.11.05 04:41) [2]
>Where ParentID IN(Select

= тоже нормально. В данном случае.


ЮЮ   (2005-11-18 04:41:00) [9]

TADOQuery.Sql.Add('Select * From Employees Where ParentID IN(Select EmployeesID From Employees Where FirstName=''Отдел продаж'')');
TADOQuery. Open;


Reindeer Moss Eater   (2005-11-17 23:36:00) [10]

Замени ExecSQL на Open


Наверх

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