Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

SQL.Text сохранить в файл   Найти похожие ветки 

 
dymok ©   (2008-12-01 15:05) [0]

Пробовал Query1.SQL.SaveToFile("555.sql");

Как программно сохранить текст запроса в файл, так что бы в нём вместо названий параметров типа :par1 были бы текущие значения этих параметров?


 
Palladin ©   (2008-12-01 15:06) [1]

никак


 
Сергей М. ©   (2008-12-01 15:07) [2]

СУБД какая ?


 
Ega23 ©   (2008-12-01 15:09) [3]


> Как программно сохранить текст запроса в файл, так что бы
> в нём вместо названий параметров типа :par1 были бы текущие
> значения этих параметров?
>


Взять переменную типа стринг, скопировать в неё текст запроса, пройти по циклу параметров, делать каждому StringReplace, заменяя его на Value.


 
dymok ©   (2008-12-01 15:20) [4]


> Сергей М. ©   (01.12.08 15:07) [2]
> СУБД какая ?


Субд - dbf, доступ с помощью BDE.
Цель -
недавно выяснил, что BDE поддерживает VIEWы. А если сохранять запросы в файлы, то можно таким образом как бы динамически эти Viewы делать


 
Сергей М. ©   (2008-12-01 15:28) [5]


> Субд - dbf


dbf - это не СУБД.


> BDE поддерживает VIEWы


Только на уровне TStoredProc и только если СУБД их поддерживает.

В твоем же случае ни о каких StoredProc не может иди и речи.


 
Поросенок Винни-Пух ©   (2008-12-01 15:31) [6]

Как программно сохранить текст запроса в файл, так что бы в нём вместо названий параметров типа :par1 были бы текущие значения этих параметров?

В тексте запроса значения параметров не появляются никогда.
Это же не макросы.
На сервер они едут в соседнем вагоне с текстом запроса.


 
dymok ©   (2008-12-01 15:33) [7]

Не viewы а как бы viewы. Можно обращаться к файлу с текстом запроса *.sql как к таблице.


> Сергей М. ©   (01.12.08 15:28) [5]Только
> на уровне TStoredProc и только если СУБД их поддерживает.
> В твоем же случае ни о каких StoredProc не может иди и речи.
>


 
Поросенок Винни-Пух ©   (2008-12-01 15:45) [8]

...
List.add.Sql.Text;
for i := 0 to pred(Params.Count) do List.Add(....)
List.SaveToFile(...)


 
dymok ©   (2008-12-01 16:26) [9]

sss:=Query1.SQL.Text;
for i:=0 to Query1.ParamCount-1 do begin
   StringReplace(sss, ":"+Query1.Params[i].Name, qTimerr.Params[i].AsString, [rfReplaceAll, rfIgnoreCase]);
end;


ничего не меняет. где ошибка?


 
dymok ©   (2008-12-01 17:09) [10]

Оказывается надо было
sss:=StringReplace(sss, ":"+Query1.Params[i].Name, qTimerr.Params[i].AsString, [rfReplaceAll, rfIgnoreCase]);


 
Anatoly Podgoretsky ©   (2008-12-01 19:17) [11]

> dymok  (01.12.2008 16:26:09)  [9]

Меняет, но какое это отношение имеет к сохранению.


 
Loginov Dmitry ©   (2008-12-01 23:15) [12]

> недавно выяснил, что BDE поддерживает VIEWы.


Не знаю как правильнее это назвать, но внешние sql-файлы в BDE - самая эффективная для парадокса (соответственно и для DBase) альтернатива вложенным подзапросам (сами же вложенные подзапросы работают там просто дико медленно).
Естественно, их можно использовать и в качестве представлений без возможности какой-либо модификации данных.

> sss:=StringReplace(sss, ":"+Query1.Params[i].Name, qTimerr.Params[i].AsSt
> ring, [rfReplaceAll, rfIgnoreCase]);


еще про QuotedStr() для строковых параметров не забудь!


 
Тын-Дын ©   (2008-12-01 23:52) [13]


> Palladin ©   (01.12.08 15:06) [1]
> никак



> dymok ©   (01.12.08 15:05)  


Разберись, как работает SQL-monitor и получай запросы в уже готовом виде.


 
dymok ©   (2008-12-02 09:39) [14]


> Loginov Dmitry ©   (01.12.08 23:15) [12]
> еще про QuotedStr() для строковых параметров не забудь!


QuotedStr() - удобная вещь, а я раньше в таких случаях добавлял по 4 кавычки:   """"+строка+""""
 
Спасибо, Дим!

Всем спасибо!



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

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
2-1228310738
xLaMer
2008-12-03 16:25
2009.01.18
Изменить Текст Tedit в чужом окне


1-1206530639
Igor_34
2008-03-26 14:23
2009.01.18
документ Word и компонент WebBrowser


1-1206048897
User
2008-03-21 00:34
2009.01.18
параметезированные права доступа к контролам приложения


2-1228166541
Johnnnnn
2008-12-02 00:22
2009.01.18
Определить переменную в DLL?


2-1228222447
Scot Storch
2008-12-02 15:54
2009.01.18
design-time