Главная страница
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.051 c
1-1131544941
Суслик
2005-11-09 17:02
2005.12.11
Runtime пакеты


1-1131709606
OldNaum
2005-11-11 14:46
2005.12.11
Нажатие клавиш в чужой программе


3-1130399776
Slider007
2005-10-27 11:56
2005.12.11
Проблема с подключением к Firebird Imbedded 1.5


1-1132131172
Wolferio
2005-11-16 11:52
2005.12.11
Обработка Ошибок


2-1132918799
kay
2005-11-25 14:39
2005.12.11
Есть non-unicode программа, как её запустить с правильным отображ