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

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

Как получить SQL текст с подставленными параметрами?


Vlad Oshin ©   (2007-09-06 13:59:00) 

кроме как руками?

     id:=1;
     ADOquery1.SQL.Add('select * from tbHistory where id=:p1');
     ADOquery1.Parameters.ParamByName('p1').Value := id;
     log('qqqqqqqqqqqqqqqqqqqqqqqqqqqq');
     log(ADOquery1.SQL.Text);
     log('qqqqqqqqqqqqqqqqqqqqqqqqqqqq');

---------------
имеем в логе:
qqqqqqqqqqqqqqqqqqqqqqqqqqqq
select * from tbHistory where id=:p1
qqqqqqqqqqqqqqqqqqqqqqqqqqqq

а надо:
select * from tbHistory where id=1


Anatoly Podgoretsky   (2007-09-06 14:27:00) [1]

> Vlad Oshin  (06.09.2007 14:15:03)  [3]

Ну какая муторность, когда есть массив и текст запроса, слева направо меняем, единственная сложность определить окончание имени параметра.


Anatoly Podgoretsky   (2007-09-06 14:21:00) [2]

> Ega23  (06.09.2007 14:09:02)  [2]

RealSQL для параметров будет примерно такой select * from tbHistory where id=?
Это там наверно из-за поддержки макросов.


Anatoly Podgoretsky   (2007-09-06 14:20:00) [3]

> Vlad Oshin  (06.09.2007 13:59:00)  [0]

Никак, кроме как руками
Значения параметров никогда в запрос не входят.


Palladin   (2007-09-06 14:16:00) [4]


> Vlad Oshin ©

А зачем тебе это?
Телепатор подсказывает для вывода в лог. Если телепатор прав, то выводи отдельно SQL с параметрами и отдельно значения самих параметров в читаемом виде.


Vlad Oshin   (2007-09-06 14:15:00) [5]


> Ega23 ©   (06.09.07 14:09) [2]

да это все понятно,
да и легче функцию написать
stringreplace от ADOquery1.SQL.Text по :p1 и т.п.
или log() по всем параметрам

но муторно,
то, на что не хочешь тратить время - как раз больше всего времени и занимает


Ega23   (2007-09-06 14:09:00) [6]

В TRxQuery было свойство RealSQL : TStrings

В адошном такого нет.
Да ты посмотри профайлером, в каком виде запрос на сервер летит, всё сразу ясно станет...  :)


Desdechado   (2007-09-06 14:00:00) [7]

Значения параметров улетаютна сервер отдельным механизмом, не в контексте SQL-запроса. Поэтому к тексту как к таковому их не отнесешь.


Наверх

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