Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
FM32YO aka KID да но можно же и в ВФП послать команду выполнения ХП с параметрами, или же написать обновление на клиенте... значит ли это, что при использовании ХП, я, как бы перекидываю мостик к технологии КС??? Ведь по идее - я перехожу напрочь на ХП (в идеале, ибо не будет этого.. так как с ВФП мне не слезть...) СУБД меняется, но на клиенте-то у меня кода минимум, все в ХП, которые портируются на другую СУБД и вперед... Думаю, что не открою для Вас секрет - что сейчас в VFP можно все писать как и для КС технологий - контейнер базы данных поддерживает ХП... При использование ХП с тем-же FoxPro Вы действительно "перекидываете мостик" в КС технологии - завтра базу данных FoxPro Вы смените на MS SQL Server - и Ваши приложения будут работать почти без изменений (почти - потому что надо будет написать "обертки" этх функций вызова ХП) Например: 1. В программе FoxPro вы пишете: do DdeleteAccount(account_number) 2. В программе пишите процедуру: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Почитайте про создание многозвенных приложений - думаю, что там ничего сложного нет. Но вот когда Вы изучите КС и сделаете пару проектов, то окончательно поймете всю красоту и мощь FoxPro... Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 13:45 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
Hi PaulWist & All! В Delphi "старого розлива" (до NET) можно примерно ассоциировать TClientDataSet с фоксовым курсором - т.е. это вытянутые с сервера данные, находящиеся локально на клиенте, и там их можно "обрабатывать" навигационными командами (циклом пройтись например). AFAIK неудобств там хватает... В NET же ситуация несколько иная - там идеология "клиентского хранилища" была значительно улучшена и расширена - можно создать много разных "представлений данных", не дёргая для этого каждый раз сервер (похоже на то как можно в фоксе из одной выборки сделать другую, или наложить фильтр, или создать индекс) - можно вообще не иметь никакого сервера, создав DataSet "на пустом месте" (как мы можем сделать CREATE CURSOR ...) Ну правда операции с DataSet-ом всё-же пока существенно ограничены - может быть в очередных версиях NET и добавят полноценный встроенный SQL движок (дабы НЕ зацикливаться на идеологии предполагающей загрузку расчётами и обработкой данных ТОЛЬКО сервер)... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 21:59 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
Ответы по следованию постов: FM32YO aka KIDВопрос у меня... Тигра упомянул, что в технологии КС все делается через ХП (ну может не все но я так понял) Не, в технологии КС отличие в том, что вся работа с данными производится на сервере. А через ХП или напрямую - это кому как. Просто мне - да и в принципе вообще - удобно работать через ХП. авторТо есть: у меня кнопка "сохранить данные" я пишу ФС (фокспровщик я) там я делаю INSERT INTO ... VALUES (то что в контрролах формы) (утрированно написал но понятно надеюсь) то есть команда выполняется на клиенте, что и подразумевает ФС если сделать КС то: под той же кнопкой ишется "Эй Сервер - выполни ХП номер 25 с параметрами (то что есть в контролах данной формы)", а уже в ХП номер 25 будет этот инсерт написан Тигра я правильно понял? или же это во мне наследие мышления ВФоуспровщика говорит? Все правильно. Ну конечно ХП не номер 25 :) а по имени: ClientInsert ... например. авторНадеюсь, что я правильно все понял, в сторону такого подхода работы давно присматриваюсь... так как понимаю метод хорош Да, действительно, хорош! Представьте, что нужно исправить кое-что в sql-коде. В случае, когда вы держите sql на клиенте, вам придется править клиента и обновлять. А в случае с ХП, вы правите ХП на сервере и в этот момент все клиенты видят ее новую версию. Никаких обновлений клиентов и т.д. авторНО.. однажды на каком-то форуме прочел сообщение: "желательно не перегружать сервак Хранимками..."а, исходя из моих пониманий при таком подходе ХП-шек будет немало... так как же так? 1 - надо юзать ХП и это удобно 2 - не перегружайте... Поясните??? Это бред тех, кто и сам не знает, что такое SQL сервер. SQL сервер как раз для того и служит, чтобы обрабатывать данные, и использование ХП даже намного повышает его производительность, чем вы будете отсылать sql-команды с клиента. И никак не влияет количество ХП - вот у вас при написании клиента влияет ли количество подпрограмм в коде на скорость? Конечно нет.:)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 11:26 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
Еще пару вопросов к tygra & pkarklin Гспода, выходые породили ещё вопросы. tygraЛибо можно запихать данные во временную таблицу на сервере - тоже через ХП один за одним, а потом вызвать соответствующую ХП, которая используя временную таблицу сделает все изменения, тогда транзакцию открывать только в ХП, с клиента не надо Каким образом происходит сохранение целостности данных попадающих во временную таблицу (только ли через клиентскую транзакцию или есть еще какой-нибудь механизи). pkarklinКлиентская транзакция означает только то, что инструкции BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN оправляются с клиента. Что в принципе не есть гуд. Но без этого никуда при реализации кэшированных изменений, да еще в более чем одном датасете. Например, в документе (шапка, табличная часть, связанные документы...). Или поставленному дигнозу можно верить (так к слову пришлось , прошу не обижаться) Еще, каким образом производиться асинхронный доступ к данным, если это, конечно есть, и соотвественно их модификация? Sergey_Сh Sergey_СhВ идеале - там надо работать так: послал запрос на одну запись, получил ее, обработал, послал обновление на серер... и все... Вы меня извините, какой-то кастрированный идеал получается, если не трудно на примере Мастер-таблица <-> детали-таблица поясните, какова технологи работы описанная Вами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 11:30 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
Далее: Sergey ChЕсли Вы не возражаете - то я немного отвечу про ХП (близко к ним триггеры). Их основное назначение придать любой операции изменения данных "осмысленный характер" - то есть там прописывается вся логика (например, удаляя заголовок счета - Вы удаляете и все записи из этого счета). Ну примерно так и есть. В ХП вообще много всяких разных действий можно сделать кроме непосредственного изменения данных в таблице - посчитать чего-то до этого, чтобы на клиенте не считать, в select-овых процедурах перед выборкой данных бывает нужно очень много всего посчитать, вытащить, поменять и т.д. авторОформляете это в виде процедуры с параметрами - единственное отличие от файл-сервера в том, что данная процедура сохранена в самой базе данных... Ну еще она в момент первого запуска компилится и строится план выполнения - в следующий запуск она идет с уже готовым планом, что иногда на очень много уменьшает время обработки. авторДалее - все клиенты базы данных удаляют счета только через эту процедуру путем передачи параметров (если они знают о существовании этой ХП ) Да, точно так. Причем права на таблицы у всех клиентов просто закрыты - только через ХП, даже select. авторПо поводу неперегружать - каждое действие требует ресурсов - и сервер баз данных очень легко "ставят на колени" десяток активных пользователей - Это не правда - это хорошо придуманные отговорки и доводы ФС-ников (это не к вам конкретно, а вообще по жизни :)), которые пытаются работать в КС старыми способами + специально приведенные примеры + незнание специфики работы конкретного SQL сервера. Собственно, и ФС-систему на Фоксе можно положить в три счета :)). А на самом деле на колени ставят не активные пользователи, а хреновые программеры, которые не умеют разрабатывать программы под sql-сервер. А вообще все очень хорошо работает - если с умом и прямыми руками делали систему. Могу привести пример личный пример: у нас в конторе размер БД 25 Гб, примерно 100 пользователей, работа активная - проблем нет. авторотсюда резко лезет вверх цена на серверное железо и на саму программу обслуживания - SQL Server Не отсюда, а когда нагрузка на сервер оказывается слишком большой. И чем прямее руки, тем дольше жэдать такого момента. Но согласитесь, когда железо не справляется, не зависимо от системы его меняют на более лучшее. авторВ технологии КС уже не дашь просто так свободу просмотра данных как мы привыкли давать клиентам в наших приложениях FoxPro... В идеале - там надо работать так: послал запрос на одну запись, получил ее, обработал, послал обновление на серер... и все... Как это так? Сдается мне, вы не работали с КС :). Полная неправда! Хотите получить для просмотра 1000 записей - берите, кто против? Другое дело, что КС предполагает, что клиент не обладает большими ресурсами и ему столько записей обычно просто не нужно. У нас вообще выборки ограничены 500-ми записями. Это все дело привычки в разработке. авторВ принципе прагматичные американцы подсчитали, что при числе клиентов менее 50 - выгодны и эффективны во всех отношениях файл - серверные системы, но (большое НО) у Microsoft остался только FoxPro в этом классе задач... и все (Access - не в счет - так как это несерьезно)... Вот и насаждается везде идеология КС - там где надо и не надо... И это не правда. КС допускает работу от 1 клиента и выше. И это ничем не хуже, а обычно даже лучше, чем сначала вы будете делать ФС, а потом переделывать систему под КС. Зачем делать двойную работу??? А что насчет американцев, так они не прагматичные, они тупые и жадные. Естественно, если объявить, что нужно все делать на КС, то придется: - Покупать новый софт - Покупать железо (но это все фигня, самое главное следующее) - Переучиваться на новый софт и технологии!!! Во где собака порылась. Это еще чего? Всю жизнь на ФС - 20 лет подряд - а тут вдруг бац, и переучиваться. Хотя бы с FoxPro 2.6 for DOS на VFP 8.0 - но дык.... Это же.. А еще SQL-сервера!!! Это же.... Неееееет, лучше сказать, что КС - г... и еще лет 30 сидеть на старом софте: два зайца сразу убивается. 1 - гарантирована работа на следующее время. 2 - спокойная жизнь до пенсии. авторP.S. Это мое сугубо личное мнение и не претендует на истину... И мое соответственно, но более ближе к истине -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 11:44 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
FM32YO aka KIDда но можно же и в ВФП послать команду выполнения ХП с параметрами, или же написать обновление на клиенте... значит ли это, что при использовании ХП, я, как бы перекидываю мостик к технологии КС??? Ведь по идее - я перехожу напрочь на ХП (в идеале, ибо не будет этого.. так как с ВФП мне не слезть...) СУБД меняется, но на клиенте-то у меня кода минимум, все в ХП, которые портируются на другую СУБД и вперед... В идеале - да. Но на практике, у вас все должно полностью быть уже КС и чтобы ни грамма не было от ФС, что очень тяжело в Фоксе - ФС способы работы с данными то под рукой, да и привычка :)). Но все-же переход будет проще и быстрее, чем с чистого ФС. Так что совет вам большой: начинайте использовать методы КС, ХП, sql-сервера и т.д. Тогда вам лично будет пофиг - Дельфи или Фокс (разница лишь в языке), потому как методы везде будут одинаковы. Лично я принципиально не использую ФС еще с 1997 года (тогда был последний проект на FoxPro 2.6 и на Дельфе + paradox). Набор sql-серверов таков, что хватает на задачу любой сложности. Если же работа строго не по сети и данные строго локальные, то я использую для хранения и работы один из компонентов (лично мне он очень нравится) и свою технологию. Впрочем лично мне этого хватает. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 11:51 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWistКаким образом происходит сохранение целостности данных попадающих во временную таблицу (только ли через клиентскую транзакцию или есть еще какой-нибудь механизи). Если использовать временную таблицу, то клиентских транзакций не надо. Просто все записи туда запихиваете - можно через ХП - а потом одной общей ХП создаете счет и добавляете записи из временной таблицы. Т.к. временная таблица существует только для вас и для текущего соединения, то ничего котролировать не надо, за исключением лишь того, что запись добавлена :) Клиентские транзакции нужно использовать тогда, когда временные таблицы не используются. PaulWist Sergey_СhВ идеале - там надо работать так: послал запрос на одну запись, получил ее, обработал, послал обновление на серер... и все... Вы меня извините, какой-то кастрированный идеал получается, если не трудно на примере Мастер-таблица <-> детали-таблица поясните, какова технологи работы описанная Вами. Это уж точно, совсем не идеал. Может быть это эхо чего-то услышанного или подсмотренного у того, кто уж точно далек от идеала, как инопланетяне от нас. :)) Я выше описал, что нет никаких проблем с просмотром многих записей. Это вообще основной элемент работы в люьой системы - как вы скажем список клиентов будете просматривать, по одному чтоли? :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 12:00 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWistЕще, каким образом производиться асинхронный доступ к данным, если это, конечно есть, и соотвественно их модификация? Можно уточнить, что для Вас есть "асинхронный доступ к данным"? ЗЫ. А на все другие вопросы tygra ответил более чем полно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 12:25 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
tygraто ничего котролировать не надо, за исключением лишь того, что запись добавлена :) тогда, какой механизм для этого используется, в смысле контроля, что все записи попали и мы по дороге ничего не потеряли. и расширю первоначальный вопрос каким образом производиться асинхронный доступ к данным, если это, конечно есть, и соотвественно их модификация, а так же получение множественного набора данных с сервера (просто не знаю как пояснить, нескольких датасетов) из одной транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 12:25 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
pkarklin pkarklinМожно уточнить, что для Вас есть "асинхронный доступ к данным"? Асинхронный - доступ к промежуточным результатам выборки, те например выборка составляет 1000 или 1 млн записей (например, формирование книг покупок или продаж или выдачи сотрудников в грид - из 1000 человек по подразделению показали только 25 или 100, а остальное подтянули, причем если надо, м.б. в этих 100 записях уже есть необходимый человек), что бы не ждать всю кишку данных; можно обрабатывать каким-то образом уже полученные записи и в фоновом режиме подкачивать недостающие. Или ещё пример - идет длительный расчет, выводим прогресс с кнопкой "Отмена", так вот когда мы отменили действие, серверу надо сказать, что бы пакет завершился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 12:46 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWistАсинхронный - доступ к промежуточным результатам выборки, те например выборка составляет 1000 или 1 млн записей (например, формирование книг покупок или продаж или выдачи сотрудников в грид - из 1000 человек по подразделению показали только 25 или 100, а остальное подтянули, причем если надо, м.б. в этих 100 записях уже есть необходимый человек), что бы не ждать всю кишку данных; можно обрабатывать каким-то образом уже полученные записи и в фоновом режиме подкачивать недостающие. Опять скажу, что такие веши реализуются серверной частью. Некоторые сервера, например, MySQL, поодерживают такую фичу на уровне расширения SQL, как постраничная выборка. В MS SQL такой фичи нет, поэтому делают примерно так: Постраничная выборка PaulWistИли ещё пример - идет длительный расчет, выводим прогресс с кнопкой "Отмена", так вот когда мы отменили действие, серверу надо сказать, что бы пакет завершился. А такую фичу можно реализовать с помощью ассинхронной модели выполнения ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 13:28 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWistполучение множественного набора данных с сервера (просто не знаю как пояснить, нескольких датасетов) из одной транзакции. Хм... А придеться пояснить, ибо я не понимаю, что Вы вкладываете в смысл "множественного набора данных с сервера из одной транзакции". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 13:30 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
pkarklinОпять скажу, что такие веши реализуются серверной частью. Да я вроде и не спорю, сервер так сервер. pkarklinХм... А придеться пояснить, ибо я не понимаю, что Вы вкладываете в смысл "множественного набора данных с сервера из одной транзакции". Пояснить в терминах Дельфи , наверное не смогу, в терминах Фокса - это означает, что в из одной транзакции/пакета можно получить несколько курсоров/выборок (для примера, заполнение табеля - подтянули совмещенную выборку подразделение + табличку содержания работы, и надо ещё иметь справочник использованного времени, что бы каждому работнику поставить "Р, В, НБ, Б," - понятно работал , болел итд; можно конечно для каждого работника при заполнении каждого дня делать перезапрос на табличку использованного времени, сами понимаете 100 человек * 30 дней = 3000 перезапросов, а можно один раз подтянуть табл. раб. времени, Вы мне можете возразить , а если что-то измениться в справочнике, на это можно ответить, что это статический справочник и даже если, что-то измениться, то достаточно нажать кнопку обновить справочник), вообщем вот так, каким образом Вы реализуета такой функционал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:01 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
спасибо всем за разьяснения... но.. как у "прагматичных" американцев есть точка зрения.. так и у меня... :-) Не перехожу на СКЛ-сервера ибо 1 - лень переучиваться 2 - работы в моей провинции для этого может конторы 2-3, и ттам вакансий нету.... 3 - работаю в конторе, которая под ораклом, так вот не очень-то он мне нравится своей громоздкостью (это проблемы разработчиков конечно.. но....) 4 - опять-таки писать свои дополнения к корпоративеному софту нет возможности ибо ИМХО создавать отбельную БД, приимеющейся корпоративной есть риск завалить обе, создавать таблицы в корпоративной ну никак, ибо раз в месяц идут централизованные обновленияЮ которые мои таблицы могут запросто угробить (не уверен но может быть) 5 - на стороне клиенту глубоко по х... под СКЛ-сервером или в ВФП проект (СКЛ-сервер ему правда придется прикупить....) .... ну и хватит.. конечно ТИГРА прав - будущее не за ФС.. но.. есть масса моментов.... (заметили, что я лень поставил не 1-е месть?? :-)) Сорри за оффтоп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:18 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PAulWistПояснить в терминах Дельфи , наверное не смогу, в терминах Фокса - это означает, что в из одной транзакции/пакета можно получить несколько курсоров/выборок (для примера, заполнение табеля - подтянули совмещенную выборку подразделение + табличку содержания работы, и надо ещё иметь справочник использованного времени, что бы каждому работнику поставить "Р, В, НБ, Б," - понятно работал , болел итд; можно конечно для каждого работника при заполнении каждого дня делать перезапрос на табличку использованного времени, сами понимаете 100 человек * 30 дней = 3000 перезапросов, а можно один раз подтянуть табл. раб. времени, Вы мне можете возразить , а если что-то измениться в справочнике, на это можно ответить, что это статический справочник и даже если, что-то измениться, то достаточно нажать кнопку обновить справочник), вообщем вот так, каким образом Вы реализуета такой функционал. Хм... Я все равно не понял про "несколько наборов в одной транзакции". И заполнение табеля - это что, расчетная задача? Если так, тот тут совсем нечего делать данным на клиенте. Или, если буквально понимать "несколько наборов в одной транзакции", то может вы это имелли ввиду: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:25 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. Во, не в бровь, а в глаз, да именно это, как я сразу не догадался просто написать код. Оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:29 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
pkarklin И заполнение табеля - это что, расчетная задача? Если так, тот тут совсем нечего делать данным на клиенте. Хорошо, тогда каким образом, конкретному человеку проставить, что в этот день он отработал 8 часов, в след. день 12 часов, а в третий день заболел. Как бы Вы это решили не предоставляя данных о работнике и справочник видов использоаннного времени? Принципиальный ответ у меня есть - всё это хозяйство должно собраться из приказов по предприятию, но мы то с Вами понимает, что это не всегда так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:35 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWist Во, не в бровь, а в глаз, да именно это, как я сразу не догадался просто написать код. Оно. Хм... Ну, получить мы такие наборы на клиента сможем. Дальще то что?! Всмысле, Ваш пример с заполнением табеля это расчетная задача или там конечный пользовватель руцами редактирует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:35 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWist pkarklin И заполнение табеля - это что, расчетная задача? Если так, тот тут совсем нечего делать данным на клиенте. Хорошо, тогда каким образом, конкретному человеку проставить, что в этот день он отработал 8 часов, в след. день 12 часов, а в третий день заболел. Как бы Вы это решили не предоставляя данных о работнике и справочник видов использоаннного времени? Принципиальный ответ у меня есть - всё это хозяйство должно собраться из приказов по предприятию, но мы то с Вами понимает, что это не всегда так. тут вопрос больше не то, как такое реализовывать в том или ином средстве разработки. Я так понял, что получается некая полуавтоматическая задача. Т.е. первоначально табель расчитывае на сервере по приказам, а потом уже расчитанный табель даем возможность поравить табельшице. Для этого нужен один набор на сам табель и один набор на признаки. зачем их оба заворачивать в транзакцию при выборке - не пойму?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:39 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
pkarklinНу, получить мы такие наборы на клиента сможем. Дальще то что?! Всмысле, Ваш пример с заполнением табеля это расчетная задача или там конечный пользовватель руцами редактирует? Меня интересовал механизм получения таких наборов на клиенте. По поводу табеля - руками клацает, видать криво описал раньше , бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:41 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
PaulWist pkarklinНу, получить мы такие наборы на клиента сможем. Дальще то что?! Всмысле, Ваш пример с заполнением табеля это расчетная задача или там конечный пользовватель руцами редактирует? Меня интересовал механизм получения таких наборов на клиенте. По поводу табеля - руками клацает, видать криво описал раньше , бывает. В принципе, Дельфийскому клиенту по-барабану. В одной транзакции получены несколько наборов или нет. МОжно получать и несколько наборов в одной активной транзакции, можно и без оной. Тока вот держать транзакции открытыми, пока пользователь "руками клацает" не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:48 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
pkarklinТока вот держать транзакции открытыми, пока пользователь "руками клацает" не надо. С этим полностью согласен и обоими руками "ЗА", кстати, а каким образом можно замкнуть COMMIT на клиенте, если не используешь клиентских транзакций, теоретически я это представляю (правда в Фоксе), а Дельфи как это можно устроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:56 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
В технологии КС в понятие "клиентской трназакции" вкладывается тока одно, что комады управления BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN отправляются с клиента. А сама транзакция существует на сервере и только там. Так что "замкнуть COMMIT на клиенте" если я опять Вас правильно понял (что -то плохо я сегодня понимаю), это будет означать отправить на сервер инструкцию COMMIT TRAN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 15:02 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
pkarklinВ технологии КС в понятие "клиентской трназакции" вкладывается тока одно, что комады управления BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN отправляются с клиента. Давайте , поясню на примере Фокса 1. Для "клиентских транзакций" - существуют ф-ии отправляемые с клиента а) для соединения устанавливается режим транзакции SQLSETPROP(Transactions, DB_TRANSMANUAL)/ручное управление б) посылка команд в синтаксисе TSQL (exec MySp) в) фиксация или откат SQLCOMMIT, SQLROLLBACK так вот если между а) и в) повесить MessegeBox(). то результат ясен 2. Посылка отдельных команд на сервер a) BEGIN TRAN б) exec MySp в) соответственно COMMIT/ROLLBACK здесь тоже достаточно между а) и в) повесить ожидание с тем же результатом. pkarklinТак что "замкнуть COMMIT на клиенте" если я опять Вас правильно понял (что -то плохо я сегодня понимаю), это будет означать отправить на сервер инструкцию COMMIT TRAN. да, совершенно верно, вот я и спросил, как в Дельфи можно послать COMMIT с клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 15:44 |
|
||
|
Технология КС в дельфи
|
|||
|---|---|---|---|
|
#18+
Есть два варианта: Или использование методов компонента TADOConnection -BeginTrans, CommitTrans, RollbackTrans. Или отсылка инструкци через TADOCommand: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 15:54 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32892604&tid=1594953]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 450ms |

| 0 / 0 |
