![]() |
Delphi7 - Символ продолжения строки
Кто знает есть ли такая байда Delphi?:
есть длинная строка запроса типа: Код:
'select * from sgoods where (idparent = :id or idgoods = :id) or idgoods in (select idparent from sgoods where idgoods = :id) order by idgoods'Код:
'select * | |
Re: Delphi7 - Символ продолжения строки
Например
Код:
'select *'+ |
Re: Delphi7 - Символ продолжения строки
Оно то так... я так и пишу - просто в других языках это более усовершенствовано.. во первых нет лишних скобок - не нужно отслеживать открыл ли и закрыл ли, и плюсик рисовать тоже не нужно
почему комментарий после открытия { действителен аж до закрытия }, а скобки в строковых значениях нет. Как я писал во многих языках такой символ есть в 1с (прототип Паскаля только русский) - это симво "|", в VBA точно не знаю но в инете встречал что вроде как "_" - и только в Delphi недодумались ;-((( |
Re: Delphi7 - Символ продолжения строки
ИМНО Запрос то вы пишете на делфях, но он то относится к Structured Query Language (SQL). отсюда и пляшите ищите описание и его возможности.
|
Re: Delphi7 - Символ продолжения строки
Сделайте отдельный файл с текстом запроса, и вычитывайте оттуда, а там уже без плюсов, ковычек и пр...
|
Re: Delphi7 - Символ продолжения строки
Цитата:
Цитата:
ch_vas, такое есть во многих языках программирования, но в паскале я такого ни разу не встречал, видимо, не реализовано |
Re: Delphi7 - Символ продолжения строки
pluton, Спасибо - только вы меня поняли....
Если никто больше не знает -значит будем считать что в Delphi такого нет и тему можно считать закрытой... |
Re: Delphi7 - Символ продолжения строки
Цитата:
SQL.add('тут запрос '); итд У меня и длиннее запросы есть select a.Telef, EXTRACT(MONTH FROM a.data_oper) mon_dolg, EXTRACT(Year FROM a.data_oper) Year_dolg, a.summa dolg, a.vid_zad vid, EXTRACT(MONTH FROM b.data_oper) mon_opl, EXTRACT(Year FROM b.data_oper) Year_opl, b.summa oplata from zadol a left outer Join oplat b on (a.vid_zad=b.vid_opl and a.telef=b.telef and EXTRACT(MONTH FROM a.data_oper)=EXTRACT(MONTH FROM b.data_oper) and EXTRACT(Year FROM a.data_oper)=EXTRACT(Year FROM b.data_oper)) Where EXTRACT(MONTH FROM a.data_oper) in (1,2,3) and EXTRACT(Year FROM a.data_oper)=2006 and a.telef=33621 ну и строки то не нужно получается |
Re: Delphi7 - Символ продолжения строки
Демьян, Вопрос то не в длинне запроса а в удобочитаемости и простоте его записи.. вош запрос прийдется писать так:
Цитата:
Цитата:
|
Re: Delphi7 - Символ продолжения строки
Чтобы не было подобных вопросов - нужно избегать делать сколько-нибудь большие запросы в коде клиентской программы.
Для этого есть хранимые процедуры. Или, на худой конец, TQuery |
Re: Delphi7 - Символ продолжения строки
Удобочитаемость легко обеспечивается обьявлением одной простой константы
const CRLF = #13#10; var q: TQuery; begin q.SQL.Text:= 'SELECT bla_bla_bla'+CRLF+ ' FROM tab1, tab2, tab3'+CRLF+ ' WHERE tab1.a=tab2.b'+CRLF+ ' AND tab2.c=tab3.d'+CRLF+ ' ORDER BY tab3.e'; и усьо :) |
Re: Delphi7 - Символ продолжения строки
не бойся того что там много компонент будет на форме, большаяя база будет представлять собой множество компонет. используй хранимые процедуры, adodatacommand кажется и остальные.
Добавлено через 1 минуту чаще используй хранимые процедуры.. оч хорошая вещь |
Re: Delphi7 - Символ продолжения строки
Цитата:
|
Re: Delphi7 - Символ продолжения строки
Цитата:
|
| Текущее время: 22:33. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2025 NoWa.cc