Вниз
Скачать: CL | DM;

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

 
Vlad Oshin ©   (2007-09-06 13:59) [0]

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

     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


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

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


 
Ega23 ©   (2007-09-06 14:09) [2]

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

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


 
Vlad Oshin ©   (2007-09-06 14:15) [3]


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

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

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


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


> Vlad Oshin ©

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


 
Anatoly Podgoretsky ©   (2007-09-06 14:20) [5]

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

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


 
Anatoly Podgoretsky ©   (2007-09-06 14:21) [6]

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

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


 
Anatoly Podgoretsky ©   (2007-09-06 14:27) [7]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
6-1170247144
Alba
2007-01-31 15:39
2007.09.30
отразить в ProgressBar процесс отправки данных постом (TIdHTTP)


3-1180006046
Dmitry_177
2007-05-24 15:27
2007.09.30
Как можно узнать запароленная ли таблица?


10-1136705235
Алексей Петухов
2006-01-08 10:27
2007.09.30
Свой OLE-automiation


15-1188480763
ArtemESC
2007-08-30 17:32
2007.09.30
Все несчастья от любви...


2-1188917942
delphiForever
2007-09-04 18:59
2007.09.30
быстрая работа с графикой без DirectX и OpenGL




   Наверх