224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 737
1

Ошибка в SQL запросе

21.06.2017, 09:50. Показов 981. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня. Столкнулся с проблемой - из Delphi запрос выполняется частично т.е. только первое условие, а OR нет. Тут вложенность подразделений. Есть подразделения и группы внутри них. Or работает как раз на выборку людей по группам внутри подразделения (т.е. headnum=n_div). Значения параметра проверял - все ништяк (:div=code_div). БД Access (пока отлаживаю прогу). В самом акцесе этот же запрос выполняется на ура. Отбирает записи правильно. В чем прикол?
Delphi
1
2
3
4
5
6
7
sql.Text:='SELECT FIO, ID, TNUM, prof, tarif, ptarif, d1, d2, d3, g1, g2, g3,'+
          'h1, h2, h3, A1, a2, a3, pr_nad '+
          'FROM Staff WHERE (((closed=0 and [Staff].[Code_Div] in '+
          '(select [Divisions].[N_Div] from [Divisions] where [Divisions].[n_div]=:div))) '+
          'OR (closed=0 and [Staff].[Code_Div] In '+
          '(select [Divisions].[N_Div] from [Divisions] where [Divisions].[headnum]=:div)))';
Parameters.ParamByName('div').Value:=DivList[CmbDiv.ItemIndex];
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2017, 09:50
Ответы с готовыми решениями:

Ошибка в запросе SQL
Здравствуйте, мне необходима ваша помощь!! Нужно написать запрос, так чтобы он выводил значение в...

Ошибка в Sql запросе
Всем доброго времени суток! Нужно написать процедуру для вывода данных в DBGrid. По сути просто...

Ошибка в SQL запросе
Доброго времени суток! Народ, у меня такая проблема. Написал код для добавления записи в БД, но не...

Ошибка в запросе SQL
Всем привет! Есть база страхователей. Мне нужно вывести список тех людей, чей срок страхования...

5
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
21.06.2017, 10:06 2
Лучший ответ Сообщение было отмечено drvolodko как решение

Решение

Два одноименных параметра в одной запросе существовать не должны.
1
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 737
21.06.2017, 10:59  [ТС] 3
Спасибо огромное. Сработало. Даже запрос упростил. Но почему тогда в access работает?
0
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
21.06.2017, 11:12 4
Когда Delphi обрабатывает запрос перед отправкой СУБД, то создается список параметров начиная с 0 до кол-ва их в запросе. По сути у тебя два параметра с номером 0 и 1. Присвоение параметру с номером 0 у тебя есть, а параметру с номером 1 нет.
0
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 737
21.06.2017, 11:45  [ТС] 5
спасибо. У тебя, кстати опечатка в подписи
0
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
21.06.2017, 12:17 6
Главное смысл ))
0
21.06.2017, 12:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2017, 12:17
Помогаю со студенческими работами здесь

Ошибка SQL запросе
Помогите разобраться в SQL запросе: procedure TForm1.BitBtn5Click(Sender: TObject); var Tekvr:...

Ошибка в SQL-запросе
доброе утро! столкнулась с такой ошибкой: "поставщик данных или другая служба вернули состояние...

Ошибка в sql-запросе
При активации Query возникает ошибка "You have an error in your SQL syntax; check the manual that...

Ошибка в SQL запросе
Выдает две ошибки: Первая ошибка: не удается совершить объединение procedure...

Где ошибка в sql-запросе?
Исходные данные: 1) Форма 2: таблица Excel (Export.xls, лист sheet), подключенная по технологии...

Ошибка в SQL запросе ADOQuery
fDM.qReport1.SQL.Add('SELECT a.Наименование_изделия,a.Код_изделия,a.Код_цеха,'); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru