Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL в TQuery [D7, XP]


mih ©   (2007-01-05 19:26:00) 

Здравствуйте! Помогите написать запрос. Есть запрос в TQuery:
Query1.sql.text:='Select NAME_DET,ZAKUP from DETALI where NAME_DET like ''%2003%''';
не получается исправить запрос так чтоб вместо %2003% было что-то типа Edit1.Text , из поля ввода на форме.


mih   (2007-01-09 22:04:00) [1]

Все работает спасибо !


sniknik   (2007-01-09 21:59:00) [2]

Query1.Parambyname('zapros').AsString:='%'+Edit1.Text+'%';


mih   (2007-01-09 21:51:00) [3]

С количеством апострофов это я не скопировал ( на самом деле он есть ).
Применил ParamByName , но по запросу получаю пустую строку.
 Query1.active:=false;
 Query1.sql.text:='Select NAME_DET,ZAKUP from DETALI where NAME_DET like :zapros';
 Query1.Parambyname('zapros').AsString:='''%'' + Edit1.Text + ''%''';
 Query1.active:=true;

Подскажите что не так.


Anatoly Podgoretsky   (2007-01-06 12:08:00) [4]

> mih  (06.01.2007 10:52:04)  [4]

Естественно такого токена нет, теперь считай количество апострофов в запросе и балансируй их, или лучше поступить как не нормальные пацаны - использовать параметры, ну или хотя бы QuotedStr. Да и зачем тебе кроме неверного количества апострофов еще и двойные кавычки? Никак понять не могу.

Нескромный вопрос, ты документацию по SQL читал или нет?


Steep   (2007-01-06 11:58:00) [5]


> Select NAME_DET,ZAKUP from "DETALI" where NAME_DET like
> ''''%''+Edit1.Text+''%''''';

Query1.sql.text:='Select NAME_DET,ZAKUP from DETALI where NAME_DET like ''%'++Edit1.Text+'%'''

Ну а если нармально делать то смотри 3


mih   (2007-01-06 10:52:00) [6]

Спасибо всем за подсказки! Запрос поправил. начал работать вот в таком виде Select NAME_DET,ZAKUP from "DETALI" where NAME_DET like ''''%''+Edit1.Text+''%''''';но заканчивается все ошибкой 'Token not found.Token:"


try   (2007-01-05 19:49:00) [7]

изучай Params


Ученик чародея   (2007-01-05 19:49:00) [8]

кури
ParamByName('имя параметра').ASтип


Palladin   (2007-01-05 19:28:00) [9]

изучай оператор +


Наверх

Титульная страница Поиск, карта сайта Написать письмо