Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];

Вниз

Коментарии в тексте запроса   Найти похожие ветки 

 
Кирей   (2008-08-13 08:53) [0]

использую ADO, ODBC - MICROSOFT OLE DB PROVIDER FOR VISUAL FOXPRO 9.0 SP2 при попытке применить в запросе коментарии, выдает ошибку, пробовал //, /*, --, *. Как еще можно выделить коментарии в тексте запроса?


 
Anatoly Podgoretsky ©   (2008-08-13 09:00) [1]

Можно еще и не выделять
Но если хочешь знать как, то ты должен изучить программирование именно в FOXPRO


 
oldman ©   (2008-08-13 09:51) [2]

Амперсанд, если память не изменяет
Или два амперсанда, не помню


 
Кирей   (2008-08-13 10:07) [3]


> oldman ©

Не, && тоже не помогает, может в ADO не предусмотрены коментарии, только чистый запрос?


 
oldman ©   (2008-08-13 10:16) [4]


> Кирей   (13.08.08 10:07) [3]


имхо, компилятору по барабану - в запросе коментарий или в другом коде


 
Сергей М. ©   (2008-08-13 10:24) [5]


> Кирей   (13.08.08 08:53)


За каким лешим нужно гнать на серверную сторону совершенно бестолковую, не влияющую на результаты запроса информацию ?


 
MsGuns ©   (2008-08-13 10:31) [6]

Комментарии достаточно вставить в сам исходный текст приложения ибо на то он и комментарий, чтобы его читал ЧЕЛОВЕК, а не другие программы ("движки", провайдеры, сервера и т.д.)


 
sniknik ©   (2008-08-13 10:33) [7]

> может в ADO не предусмотрены коментарии, только чистый запрос?
ADO тут не причем, читай [1] до полного понимания.


 
Кирей   (2008-08-13 10:38) [8]


> За каким лешим нужно гнать на серверную сторону совершенно
> бестолковую, не влияющую на результаты запроса информацию
> ?

довольно большой запрос в ADOQuery, чтобы не запутаться хотел бы повставлять коментарии


 
Сергей М. ©   (2008-08-13 10:48) [9]


> чтобы не запутаться хотел бы повставлять коментарии
>


А что тут путаться ?

ADOQuery.SQL.Add("select *"); //все поля
ADOQuery.SQL.Add("from SomeTable"); //из такой-то таблицы
ADOQuery.SQL.Add("left join AnotherTable"); //связанной так-то с другой таблицей
ADOQuery.SQL.Add("on............ "); //по таким то полям

Это что, не комментарии ?
Разве они плохо воспринимаются ?
Зачем их пихать в сам текст запроса ?


 
Medbe}I{onok XML ©   (2008-08-13 10:55) [10]

на какой такой сервер нужно гнать коментарии?
У него файлы фокспро


 
oldman ©   (2008-08-13 10:58) [11]


> Medbe}I{onok XML ©   (13.08.08 10:55) [10]
> на какой такой сервер нужно гнать коментарии?
> У него файлы фокспро


Типа фокпро не позволяет коннекты клиентов к сервер-базе?


 
Кирей   (2008-08-13 10:59) [12]


> Это что, не комментарии ? Разве они плохо воспринимаются
> ?Зачем их пихать в сам текст запроса ?


Можно и так, но текст запроса создается 1 раз и динамически формировать его не имеет смысла. Мне кажется удобнее запхать весь запрос сразу в ADOQuery.SQL, для отладки (или если вдруг прийдется менять) оставить комментарии


 
Medbe}I{onok XML ©   (2008-08-13 11:00) [13]

типа у него тот самый случай


 
sniknik ©   (2008-08-13 11:00) [14]

> А что тут путаться ?
действительно
ADODataSet.CommandText:=
 "select * "+                    //все поля
 "from SomeTable "+         //из такой-то таблицы
 "left join AnotherTable "+  //связанной так-то с другой таблицей
 "on............ ";                //по таким то полям

только он вроде про запрос внесенный в десигнтайм.

вообще в фоксе не было нормальных комментариев внутри запроса, только в конце конце команды... правда это было давно, может с тех пор и изменилось чего.


 
Medbe}I{onok XML ©   (2008-08-13 11:00) [15]

для отладки

Отлаживают в другом месте


 
sniknik ©   (2008-08-13 11:03) [16]

> на какой такой сервер нужно гнать коментарии?
без разницы, сервер, движок... смысл в бессмысленном перегоне ненужной инфы.


 
MsGuns ©   (2008-08-13 11:10) [17]

>Можно и так, но текст запроса создается 1 раз и динамически формировать его не имеет смысла. >Мне кажется удобнее запхать весь запрос сразу в ADOQuery.SQL, для отладки (или если вдруг >прийдется менять) оставить комментарии

Не имеет смысла пихать запросы вовнутрь компонента хотя бы из-за того, что без делфей фиг прочтешь что там есть. Для этого лучше использовать датамодули со всей "базовой" требухой, в т.ч. константами, содержащими тексты запросов. Или вообще запросы держать вовне, в каких-нибудь файлах (в тех же ресурсах например), тогда можно их править без редактирования и компилляции проекта.
Для клиент-серверных систем для этого служит бизнес-логика, в "локалках" пожно организовать таблицу, содержащую тексты запросов с указателями задач и пунктов. Такую таблицу можно править в любой момент, имея под рукой самый простецкий десктопный иструмент. При этом не нужен ни исходник проекта, ни даже Делфи (или чего там используется как РАД)
В любом из предложенных вариантов море разливанное возможностей для комментирования.


 
Medbe}I{onok XML ©   (2008-08-13 11:10) [18]

в данной конкретном она никуда с машины клиента не перегоняется


 
Anatoly Podgoretsky ©   (2008-08-13 11:17) [19]

А зачем из машины?


 
Medbe}I{onok XML ©   (2008-08-13 11:19) [20]

зачем из машины? что бы сеть нагрузить.


 
sniknik ©   (2008-08-13 11:19) [21]

> в данной конкретном она никуда с машины клиента не перегоняется
ну да, а между обьектами пустую инфу гонять конечно можно, нужно, и даже наверное в кайф...
(сарказм. если кто не понял)

движок исполняющий запрос для программы обьект внешний, т.что лучше относиться к нему как серверу, неважно на какой он машине.


 
Medbe}I{onok XML ©   (2008-08-13 11:25) [22]

с чего это он внешний стал? дальше длл"ки драйвера фокспро никуда каменты не вылезут.
все в текущем процессе останется


 
Сергей М. ©   (2008-08-13 11:29) [23]


> Medbe}I{onok XML ©   (13.08.08 10:55) [10]
>
> на какой такой сервер


Не на сервер, а на серверную сторону, т.е. сторону собственно принимающую и исполняющую запросы клиентской стороны.


 
Medbe}I{onok XML ©   (2008-08-13 11:31) [24]

исполняющая сторона здесь - это оледб провайдер загруженный в процесс самой программы


 
Кирей   (2008-08-13 11:33) [25]

Я в принципе пишу короткие комментарии, неужели они так загрузят сеть?


 
Сергей М. ©   (2008-08-13 11:33) [26]


> Medbe}I{onok XML ©   (13.08.08 11:25) [22]
>
> все в текущем процессе останется


А кто говорил про процессы ? Никто. Кроме тебя)
Ты еще про олей/ком-серверы вспомни - они тоже бывают внутрипроцессные и они тоже "длл"ки", однако это серверы и расположены они по отношению к контроллерам автоматизации на серверной стороне.


 
Anatoly Podgoretsky ©   (2008-08-13 11:39) [27]

> Medbe}I{onok XML  (13.08.2008 11:19:20)  [20]

Зачем сеть нагружать?


 
Medbe}I{onok XML ©   (2008-08-13 11:40) [28]

Я в принципе пишу короткие комментарии, неужели они так загрузят сеть?

Ну видишь, как все тебя пытаются напугать. Конечно загрузят.
:)


 
Medbe}I{onok XML ©   (2008-08-13 11:40) [29]

Зачем сеть нагружать?

Чтобы потом разгружать.


 
Кирей   (2008-08-13 11:43) [30]

Ладно, напугали, буду без коментов писать, а лучше напечатаю на бумажках запрос и нашкрябаю коменты от руки


 
brother ©   (2008-08-13 11:44) [31]

> Ну видишь, как все тебя пытаются напугать. Конечно загрузят.

комментарий длинной = 1/2 запроса => увеличение нагрузки на канал в 1.5 раза ))))


 
Anatoly Podgoretsky ©   (2008-08-13 11:46) [32]


> Я в принципе пишу короткие комментарии, неужели они так
> загрузят сеть?

Причем тут сеть, ты же не оставляешь их в своей программе, а передаешь во внешнею среду, а дальше тебя не касается, толи провайдер передаст по сети, то ли передаст другому драйверу, а потом интерпритатору, ты думаешь, что комментарии интерпритатору не надо обрабатывать, они каким то волшебным образом уберутся из запрос. И еще неизвестно на что больше ресурсов потребуется, на передачу по сети, а по условию что и как мы не знаем, это не наше или на разборку запроса с комментариями. В случае передачи по сети ресурс один передача, а парсинг уже где то там, толи на этой, толи на другой машине.

Резюме: комментарии в данном случае зло, с какой бы стороны не смотреть. Это не комментарии в исходном тексте для компилятора.


 
Anatoly Podgoretsky ©   (2008-08-13 11:47) [33]

> Сергей М.  (13.08.2008 11:33:26)  [26]

OLE DB как раз СОМ сервер, который за собой еще много чего уже внешнего к нему тянет. В данном случае провайдера, а тот интерпритатор запроса.


 
Сергей М. ©   (2008-08-13 11:49) [34]


> OLE DB как раз СОМ сервер


Спасибо за помощь в открытии Америки)


 
Medbe}I{onok XML ©   (2008-08-13 11:53) [35]

порой из одной мухи можно сделать целое стадо слонов


 
Сергей М. ©   (2008-08-13 11:54) [36]


> Кирей   (13.08.08 11:43) [30]
>
> Ладно, напугали


Сейчас еще больше напугаем : использование связки ADO + FoxProOLEDBProvider только ради ADO вряд ли оправдано - это лишние квадратные колеса в телеге, лишняя прокладка)


 
Anatoly Podgoretsky ©   (2008-08-13 11:57) [37]

> Кирей  (13.08.2008 11:43:30)  [30]

У тебя что компьютера нет?


 
Sergey13 ©   (2008-08-13 12:03) [38]

> [17] MsGuns ©   (13.08.08 11:10)
> Такую таблицу можно править в любой момент, имея под рукой самый простецкий десктопный иструмент.
И тебя это не пугает? 8-)


 
Кирей   (2008-08-13 12:03) [39]


> Сейчас еще больше напугаем : использование связки ADO +
> FoxProOLEDBProvider только ради ADO вряд ли оправдано -
> это лишние квадратные колеса в телеге, лишняя прокладка)


Почему? BDE чтоли использовать?


 
Кирей   (2008-08-13 12:13) [40]


> У тебя что компьютера нет?

Хотел чтобы было все цывильно, дак напугали ж.


 
sniknik ©   (2008-08-13 12:15) [41]

> Почему? BDE чтоли использовать?
если бы у тебя были таблицы парадокса и поменять их было нельзя, то да однозначно.

с dbf не так однозначно но возможно.

но лучше всего поменять не ADO, а именно таблицы, на чтото другое, формат который ты используешь устарел, если это именно таблицы от фокса, а не его база, и в любом случае советовал бы уйти от формата фокса, работать с ним нормально можно только на нем самом.... искуственные ограничения его движка из него просто таки выпирают.


 
Anatoly Podgoretsky ©   (2008-08-13 12:18) [42]


> Хотел чтобы было все цывильно, дак напугали ж.

Никто тебя не пугал.
А с комментариями, Дельфи поддерживает комментарии, что тебя сдерживает написать комментарий прямо в коде? Вне зависимости динамический запрос или статический. А вот сам комментарий надо убрать из обработку, учитывая интерпритируемость или возможность передачи текста по сети или другими методами. Много конечно не выиграешь, но и не проиграешь, а потом войдет в привычку писать программу и ничего лишнего в ней.


 
Anatoly Podgoretsky ©   (2008-08-13 12:20) [43]


> И тебя это не пугает? 8-)

Никак не пугает. А тебя пугает по какой причине?


 
Anatoly Podgoretsky ©   (2008-08-13 12:23) [44]

> sniknik  (13.08.2008 12:15:41)  [41]

С dbf одназначно, количество вьюверов и редакторов просто восхищяет, и даже офис напрямую работает


 
Sergey13 ©   (2008-08-13 12:52) [45]

> [43] Anatoly Podgoretsky ©   (13.08.08 12:20)
> А тебя пугает по какой причине?

По той, что

> Такую таблицу можно править в любой момент, имея под рукой самый простецкий десктопный иструмент.

Вот так вот взял и поменял, возможно даже не подозревая, где еще этот запрос (возможно) может использоваться и к каким последствиям это может привести.

Я не против самого подхода (хотя его целесообразность для мелких проектов мне не очень понятна). Мне сомнительно, что все может (должно) быть так просто.


 
Anatoly Podgoretsky ©   (2008-08-13 13:15) [46]

> Sergey13  (13.08.2008 12:52:45)  [45]

Отлично, именно этот вопрос и ожидал, ты думаешь, что текст запроса прямо в компоненте нельзя изменить, очень, очень просто, берем любой редактор ресурсов и далее как два пальца. Редактор ресурсов это как раз простецкий десктопный иструмент. Все ресурсы открыты и как на ладони. Все формы являются ресурсами, вместе со всем тем, что на них размещено. А для программиста есть даже офлайн вариант данного ресурса, называется Форма.DFM


 
Сергей М. ©   (2008-08-13 13:45) [47]


> Кирей   (13.08.08 12:03) [39]


> BDE чтоли использовать?


БДЕ в твоем случае - та же самая прокладка, что и используемая тобой сейчас связка, только еще толще и неудобней.

При прочих равных условиях резонней было бы использование MS Visual FoxPro Runtime Library (родное для фокса ядро) через тоненькую прокладочку foxauto.


 
Sergey13 ©   (2008-08-13 13:55) [48]

> [46] Anatoly Podgoretsky ©   (13.08.08 13:15)

Это рассуждения с точки зрения хакера. 8-) Я про ресурсы и про их доступность слышал.
Я про защиту от (со)разработчика (особенно при работе в команде). У него есть доступ ко всем запросам, работающим в приложении. Не глядя в код самого приложения он просто меняет "проблемный" запрос (правильно меняет) и получает облом совсем в другом месте, который проявляется конечно в самый неподходящий момент.


 
Anatoly Podgoretsky ©   (2008-08-13 14:01) [49]

> Sergey13  (13.08.2008 13:55:48)  [48]

>  Не глядя в код самого приложения он просто меняет "проблемный" запрос (правильно меняет) и получает облом совсем в другом месте

Это совсем другая проблема, из другой области и не имеет отношения к инструменту. Мы же обсуждаем инструмент, а не дурную голову одного из разработчиков.


 
Sergey13 ©   (2008-08-13 14:23) [50]

> [49] Anatoly Podgoretsky ©   (13.08.08 14:01)
> Мы же обсуждаем инструмент

Ну так про него я уже сказал, что по моему мнению, он оправдан в больших и очень специфичных проектах, типа одна база и много (очень) удаленных независимых клиентов. Иначе это только усложнят разработку. ИМХО.


 
MsGuns ©   (2008-08-13 14:32) [51]

Чего вы тут все медвежат отговариваете - хочут колбасу вместе с холодильником таскать - на здоровье !


 
oldman ©   (2008-08-13 16:47) [52]

Удалено модератором



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

Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.039 c
13-1121691834
RA
2005-07-18 17:03
2008.09.28
Установка .NET


15-1217963808
palva
2008-08-05 23:16
2008.09.28
Не о рычагах, а об электронах


15-1218148932
alex-drob
2008-08-08 02:42
2008.09.28
microsoft или apple


2-1218819253
batya-x
2008-08-15 20:54
2008.09.28
Обои на рабочем столе


2-1219067770
silver222
2008-08-18 17:56
2008.09.28
FindFirst





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский