Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 26.02.2013, 14:52   #1
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию Sql - запрос

есть таблица в DbGrid. нужно сделать поиск чтобы в Эдит вводить число а из определенного столбца таблицы выбрать все строки которые меньше этого числа.
Ругается на код
Код:
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('FROM transport');
ADOQuery1.sql.Add('WHERE dlina < '''+Edit1.Text+'''');
ADOQuery1.Active:=true;
form2.show;
подскажите как сделать чтоб работало
jawa250t вне форума Ответить с цитированием
Старый 26.02.2013, 15:30   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

используй параметры... и не нужно будет париться с кавычками
maLoy*508 вне форума Ответить с цитированием
Старый 26.02.2013, 15:42   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,577
По умолчанию

Цитата:
Сообщение от jawa250t Посмотреть сообщение
есть таблица в DbGrid. нужно сделать поиск чтобы в Эдит вводить число а из определенного столбца таблицы выбрать все строки которые меньше этого числа.
Ругается на код
Код:
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('FROM transport');
ADOQuery1.sql.Add('WHERE dlina < '''+Edit1.Text+'''');
ADOQuery1.Active:=true;
form2.show;
подскажите как сделать чтоб работало
этого будет достаточно:
Код:
ADOQuery1.sql.Add('WHERE dlina < '+Edit1.Text+  '  ');
или же как сказано было выше используй параметры, символьной писанины больше, но все будет разложено "по полочкам".
в твоем коде получался запрос в котором ты целочисленное dlina сравнивал с текстовым, на это видимо и ругалось. + поставь пробелы после окончания каждой строки, на всякий случай. хорошо если в SQL оно добавляет как строки через Enter, но перестраховаться не помешает.
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 26.02.2013, 16:04   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Цитата:
перестраховаться не помешает
Не надо, обработаются как отдельные строки запроса
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.02.2013, 18:02   #5
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию

Цитата:
Сообщение от VIK_aka_TOR Посмотреть сообщение
этого будет достаточно:
Код:
ADOQuery1.sql.Add('WHERE dlina < '+Edit1.Text+  '  ');
или же как сказано было выше используй параметры, символьной писанины больше, но все будет разложено "по полочкам".
в твоем коде получался запрос в котором ты целочисленное dlina сравнивал с текстовым, на это видимо и ругалось. + поставь пробелы после окончания каждой строки, на всякий случай. хорошо если в SQL оно добавляет как строки через Enter, но перестраховаться не помешает.
Спасибо большое!! в кавычках этих путаюсь)) а запрос надо было с несколькими условиями - теперь все работает! примного благодарен!!)
jawa250t вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sql запрос Orionic SQL, базы данных 2 14.09.2012 23:13
Запрос SQL Slobodchikov_y БД в Delphi 6 06.03.2012 15:31
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 07:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 19:15


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS