Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Lizerman
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 14
1

SQL запрос (оператор IN)

06.04.2011, 23:36. Просмотров 1687. Ответов 5
Метки нет (Все метки)

Прошу помочь, правильно написать код оператора IN (значение содержится) в SQL запросе к БД.
Отбираются значения, соответствующие указанным:

Как нужно правильно написать этот код в delphi?

procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.SQL.Text:=SELECT * FROM calc WHERE ID IN (Edit1.Text);
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2011, 23:36
Ответы с готовыми решениями:

SQL запрос, оператор IN, Delphi и базы данных
В таком запросе Delphi ругается на пропущенный оператор SELECT * FROM...

SQL - запрос. Ошибка синтаксиса: пропущен оператор
Имеется 2 запроса: FORM2.ADOQuery1.SQL.Add('SELECT * FROM inf WHERE...

SQL запрос по фрагменту строки сохраненной в таблице SQL
Прошу помощи. Есть SQL таблица-1, в ней есть столбец по имени Model_Vagona с...

SQL запрос, работающий в MS SQL Menegment'e не работает в делфи
Требуется выполнить запрос по нажатию кнопки, запрос сначала написал в...

SQL и ComboBox в Delphi. Нужно чтобы при выборе специальности в комбобоксе это значение вносилось в SQL запрос
procedure TForm3.Button2Click(Sender: TObject); begin try...

5
Ksenya100
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
06.04.2011, 23:49 2
Delphi
1
2
3
4
5
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE = ' +Edit1.Text;
ADOQuery1.Open;
end;
если будет ругаться на тип данных можно попробовать написать запрос с параметром
Delphi
1
2
3
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE = :N1';
ADOQuery1.Parameters.ParamByName('N1').Value:=Edit1.Text;
ADOQuery1.Open;
или
Delphi
1
2
3
4
5
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE = ' + strToInt(Edit1.Text);
ADOQuery1.Open;
end;
а можт я не так поняла...
Вы пробовали так &&
Delphi
1
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE ID IN (' + Edit1.Text + ')';
1
Lizerman
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 14
06.04.2011, 23:56  [ТС] 3
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE id IN (4, 5)';
так вот у меня не получается цыфры заменить на Edit.Text,
к примеру ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE id IN (Edit1.Text)';
после этого пишет "Edit1.Text не имеет значения, или чтото тип того"
не могу понять свою ошибку.
0
Ksenya100
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
07.04.2011, 00:02 4
если до завтра не решится вопрос, попробую на работе.. дома sql нету
1
Lizerman
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 14
07.04.2011, 00:07  [ТС] 5
ADOQuery1.SQL.Text:='SELECT * FROM calc WHERE ID IN (' + Edit1.Text + ')'; Это именно то что надо
0
OSTfrost
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 6
09.05.2014, 16:28 6
Похожая проблема вырисовалась:
SQL
1
SELECT *  FROM `Отправители` WHERE id IN (SLECT ID_salers FROM `Зерновые культуры` WHERE Сорт = 1 AND `Культура` LIKE "Бобы арахиса");
такой запрос, ругается на пропущенный оператор.
0
09.05.2014, 16:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 16:28

SQL и оператор JOIN
Помогите составить SQL запрос соединение 3 таблиц связанных по полю ...

Запрос и ошибка синтаксиса (пропущен оператор)
Вот такая штука, вылетает "ошибка синтаксиса (пропущен оператор)" в том месте,...

Запрос на поиск выдает ошибку ошибка синтаксиса (пропущен оператор в выражении запроса), как исправить?
DM.MaterialQuery.SQL.Add('SELECT Materiali.ID_materiala,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru