![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить 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-запроса. Поэтому к тексту как к таковому их не отнесешь.