Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
перехожу тут с ADO на ODAC. непорадовал абсолютно бестолковый хелп без единого примера.. вобщем все там так-же, но! есть properties SQLInsert, SQLUpdate, SQLDelete и хотелось бы юзать все с одном query )) так вот, что то я не пойму как это работает, в инете по odac ни одного примера так-же.. пока есть мысле делать TOraQuery->SQL = SQLInsert; TOraQuery->Execute(); опровергните или подтвердите! )) а лучше киньте в меня грамотным примером иллюстрирующим этот механизм.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 17:40 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
1vadik1перехожу тут с ADO на ODAC. Это правильно. 1vadik1непорадовал абсолютно бестолковый хелп без единого примера.. Возможно, так. Честно говоря, не испытывал потребности в хелпе по ODAC, все естественно и логично. 1vadik1вобщем все там так-же, но! есть properties SQLInsert, SQLUpdate, SQLDelete и хотелось бы юзать все с одном query )) Хм. Надевая шапку старого и мудрого деда: Вы не работали с BDE (который я полагаю непосредственным предком ADO), не обстучались о минусы этого подхода и не знаете, для чего нужен стандартный компонент UpdateSQL. "Один query" - плохая мысль, поскольку подразумевает то, что толстый провайдер проанализирует этот query и на основании мистических алгоритмов решит, как ему обновлять данные. В результате часто приходится искать, как надавать ему по сусалам и заставить работать как надо. Допустим, есть такой вот select: Код: plaintext 1. В случае update-а нужно действовать примерно так: Код: plaintext 1. 2. 3. 4. Боюсь, ни один ADO такого не сообразит, а чтобы сообразил - придется обвешать такой кучей настроек, что программист утонет. Поэтому удобнее явно задавать операции, которые должны выполняться в случае того или иного вида редактирования датасета. 1vadik1так вот, что то я не пойму как это работает, в инете по odac ни одного примера так-же.. В ODAC есть разные компоненты, но относительно того, о чем говорите - посмотрите в стандартном хелпе, как пользоваться связкой TQuery/TUpdateSQL, очень похоже. 1vadik1 пока есть мысле делать TOraQuery->SQL = SQLInsert; TOraQuery->Execute(); Абсолютно незачем. Куча ручного кодирования того, что можно и нужно автоматизировать (и что уже автоматизировано). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 18:34 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
В ODAC есть каталог с Demos, там многое отображено. Кроме всего прочего, есть TOraSmartQuery, который как-раз и реализует алгоритмы автоматической генерации всевозможных UPDATE. Конечно, со сложными запросами он не справляется, но в 95% его достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 19:17 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
softwarerХм. Надевая шапку старого и мудрого деда: Вы не работали с BDE (который я полагаю непосредственным предком ADO), Ну здрасте! ADO это объектный враппер над ODBC, с BDE общего ничего нету. Кроме того что и то и другое универсальные интерфейсы доступа к БД :) softwarer"Один query" - плохая мысль, поскольку подразумевает то, что толстый провайдер проанализирует этот query и на основании мистических алгоритмов решит, как ему обновлять данные. При чем здесь провайдер??? Это сервер будет анализировать запрос а не провайдер. Дело провайдера отправить запрос на сервер и все. А сколько query-объектов сделает клиент это личное дело программиста. С учетом конечно того что однажды подготовленный запрос можно использовать повторно, но количество подготовленных запросов которые может помнить сервер ограничено :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2005, 22:05 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
Vladimir ZheleznyakКроме всего прочего, есть TOraSmartQuery, Я так понимаю, именно о нем автор и спрашивает :) Vladimir Zheleznyak который как-раз и реализует алгоритмы автоматической генерации всевозможных UPDATE. Конечно, со сложными запросами он не справляется, но в 95% его достаточно. Интерактивной. То есть не "софт подумал и решил", как в случае того же ADO, а "программист нажал кнопку, что именно сгенерировать, и потом, если нужно, подправил руками". Что есть абсолютно правильный в данном случае подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2005, 13:08 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
White OwlНу здрасте! ADO это объектный враппер над ODBC, Уже интересно. Сейчас специально убрал ODBC-шные DLL-ки - а ADO, сволочь, коннектится как ни в чем не бывало. White Owlс BDE общего ничего нету. Кроме того что и то и другое универсальные интерфейсы доступа к БД :) И то, и другое - куда больше, чем универсальный интерфейс доступа; к таковым относятся как раз ODBC/JDBC. Впрочем, считайте как хотите - тема сравнения этих двух технологий во-первых великовата для побочного обсуждения, а во-вторых, малоинтересна, потому как обе технологии изрядно кривы и лучшее, что с ними можно сделать - побыстрее отказаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 15:31 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
softwarer 1vadik1вобщем все там так-же, но! есть properties SQLInsert, SQLUpdate, SQLDelete и хотелось бы юзать все с одном query )) Хм. Надевая шапку старого и мудрого деда: Вы не работали с BDE (который я полагаю непосредственным предком ADO), не обстучались о минусы этого подхода и не знаете, для чего нужен стандартный компонент UpdateSQL. You may prefer to use directly SQLInsert, SQLUpdate and SQLDelete properties of TCustomOraQuery descendants. Это фраза из хелпа к TOraUpdateSQL... softwarer Допустим, есть такой вот select: Код: plaintext 1. В случае update-а нужно действовать примерно так: Код: plaintext 1. 2. 3. 4. Боюсь, ни один ADO такого не сообразит, а чтобы сообразил - придется обвешать такой кучей настроек, что программист утонет. Поэтому удобнее явно задавать операции, которые должны выполняться в случае того или иного вида редактирования датасета. да и не надо чтобы сообразил.. я вообще-то спрашивал про основную метоологию работы с cв-вами SQLInsert и т.д... запросики я и сам могу написать, хотя возможность генерации очень порадовала.. softwarer 1vadik1 пока есть мысле делать TOraQuery->SQL = SQLInsert; TOraQuery->Execute(); Абсолютно незачем. Куча ручного кодирования того, что можно и нужно автоматизировать (и что уже автоматизировано). хм... хочется подробностей... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 18:22 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
1vadik1 Возможно, я не понял Вас и ответил на другое, нежели Вы спрашивали. ODAC использует эти свойства для того, чтобы модифицировать данные датасета, то есть если Вы будете их редактировать - при сохранении будут выполнены указанные Вами DML-операторы для измененных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 18:38 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
softwarer 1vadik1 Возможно, я не понял Вас и ответил на другое, нежели Вы спрашивали. ODAC использует эти свойства для того, чтобы модифицировать данные датасета, то есть если Вы будете их редактировать - при сохранении будут выполнены указанные Вами DML-операторы для измененных данных. ok. тогда насколько я понял: передача параметров в эти св-ва невозможна, там можно хранить только статический SQL ну или присваивать как я предлагал SQL = SQLInsert а далее TOraQuery->ParameterByName(...) .. и еще один вопросик в тему: почему не пашет Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 18:49 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
softwarer White OwlНу здрасте! ADO это объектный враппер над ODBC, Уже интересно. Сейчас специально убрал ODBC-шные DLL-ки - а ADO, сволочь, коннектится как ни в чем не бывало. Вполне возможно. ADO может использовать ODBC, OLE DB или иметь свои собственные функции интерфейса к БД. Это зависит в первую очередь от того к какой базе данных делается подключение. Библиотеки ADO умеют самостоятельно подключаться к MS SQL например, но не умеют к MySQL. А рождался ADO как раз в качестве объектного враппера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 19:12 |
|
||
|
фенечки ODAC
|
|||
|---|---|---|---|
|
#18+
1vadik1ok. тогда насколько я понял: передача параметров в эти св-ва невозможна, Если иметь в виду "каких-то дополнительных, нестандартных параметров" - возможно, что и нельзя; честно говоря, не выяснял этот вопрос за ненужностью. Как минимум, можно перекрыть метод PerformSQL и там сделать абсолютно что угодно. Вопрос в том, пожалуй, что если при сохранении недостаточно данных, которые уже имеются в датасете, и нужно притянуть что-то совершенно нестандартное - пожалуй, правильно таки будет использовать свойство UpdateObject и именно ему доверить "совершенно нестандартное". Стандартные компоненты этого не обеспечивают, но легко реализовать собственного наследника, где сделать все нужное. 1vadik1и еще один вопросик в тему: почему не пашет Код: plaintext 1. 2. Хм. Если в сторону - так никогда не следует делать, нужно пользоваться параметрами. Достаточно ввести апостроф в строку фильтра, чтобы понять, почему. Ну или не просто апостроф, а что-нибудь типа ' or '%' = ' А так - должно работать, ищите какую-либо мелочь, в которой ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2005, 19:32 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33312446&tid=1347370]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 462ms |

| 0 / 0 |
