Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

При выполнении SQL запроса выдает ошибку. Помогите!!!   Найти похожие ветки 

 
FShadow   (2005-11-17 23:33) [0]

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".

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


 
Reindeer Moss Eater ©   (2005-11-17 23:36) [1]

Замени ExecSQL на Open


 
ЮЮ ©   (2005-11-18 04:41) [2]

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


 
Johnmen ©   (2005-11-18 09:18) [3]

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

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


 
ЮЮ ©   (2005-11-18 09:32) [4]

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

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

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


 
Johnmen ©   (2005-11-18 10:18) [5]

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

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

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

Почему?


 
Sergey13 ©   (2005-11-18 10:24) [6]

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

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


 
Johnmen ©   (2005-11-18 10:43) [7]

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

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


 
Sergey13 ©   (2005-11-18 11:23) [8]

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


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

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

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

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

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


 
Sergey13 ©   (2005-11-21 09:33) [10]

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



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
3-1130331984
DmitryA
2005-10-26 17:06
2005.12.11
Как открыть таблицу Visual Foxpro?


2-1132535416
Exorcist
2005-11-21 04:10
2005.12.11
Как создать новый компонент на i-той вкладке PageControl


2-1132930906
Eksell
2005-11-25 18:01
2005.12.11
Поиск в файле


1-1131691942
Shopot
2005-11-11 09:52
2005.12.11
Как нарисовать в Delphi объекты как в Excel е?


8-1120935016
murtix
2005-07-09 22:50
2005.12.11
Gdi+ и Delphi 2005