![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
При выполнении 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