|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
Помогите нубу ;-) Есть таблица в базе на MS SQL сервер. Получаю данные в локальный курсор с помощью синхронного SqlExec. Привязываю курсор к компоненту Grid. Пользователь производит редактирование данных. Жмет на кнопку "Сохранить". По логике, я должен просканировать курсор в котором производились изменения, и отправить на сервер серию серию DML запросов. Как узнать что запись в курсоре была изменена? или добавлена/удалена. Вариант в лоб - хранить оригинальный курсор, к сетке привязывать копию и при сохранении изменений тупо сравнивать строки. Но думаю есть более производительные решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 09:05 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
FreeBardПомогите нубу ;-) Есть таблица в базе на MS SQL сервер. Получаю данные в локальный курсор с помощью синхронного SqlExec. Привязываю курсор к компоненту Grid. Пользователь производит редактирование данных. Жмет на кнопку "Сохранить". По логике, я должен просканировать курсор в котором производились изменения, и отправить на сервер серию серию DML запросов. Как узнать что запись в курсоре была изменена? или добавлена/удалена. Вариант в лоб - хранить оригинальный курсор, к сетке привязывать копию и при сохранении изменений тупо сравнивать строки. Но думаю есть более производительные решения. Я обычно все изменения передаю в одной команде (как параметр хранимой процедуры обновления) через XML: 1. SELECT .. FROM MyCursor INTO xmlcursor WHERE .... признак_что_было_обновление 2. CURSORTOXML("xmlcursor", "m.xmlData", 3, 16) 3. Далее вызываю хранимую процедуру, которая обновляет данные на сервере с передачей ей в качестве параметра переменную m.xmlData 4. В хранимой процедуре на сервере с помощью функции OPENXML извлекаю данные из XML документа и делаю с ними то, что надо делать (обработка, добавление и пр.) С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 09:30 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
Aleksey-K, решение с xml понравилось, экономнее и удобнее чем я сделал - шлю кучу запросов. Вопрос в том как определить "признак_что_было_обновление". Вы это как то искуственно реализуете, с помощью дополнительного поля, или у курсора/среды есть встроенные свойства методы для определения была изменена текущая запись или нет? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 09:40 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
FreeBard... Вопрос в том как определить "признак_что_было_обновление". Вы это как то искуственно реализуете, с помощью дополнительного поля, или у курсора/среды есть встроенные свойства методы для определения была изменена текущая запись или нет? Спасибо. Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 10:10 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
FreeBardAleksey-K, решение с xml понравилось, экономнее и удобнее чем я сделал - шлю кучу запросов. Вопрос в том как определить "признак_что_было_обновление". Вы это как то искуственно реализуете, с помощью дополнительного поля, или у курсора/среды есть встроенные свойства методы для определения была изменена текущая запись или нет? Спасибо. Я обычно обновляю все поля. Если пользователь нажал OK, то он согласился с тем, что остальные данные (которые он не обновил) должны быть такие, какие он видит на экране. Но, конечно, приложения могут быть разные и не везде надо обновлять все. Тогда можно поступить как советует PaulWist или использовать дополнительное поле в курсоре, как признак обновления. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 10:29 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
PaulWistFreeBard... Вопрос в том как определить "признак_что_было_обновление". Вы это как то искуственно реализуете, с помощью дополнительного поля, или у курсора/среды есть встроенные свойства методы для определения была изменена текущая запись или нет? Спасибо. Код: plaintext
Похоже то что надо, спасибо! Осталось с CURSORSETPROP разобраться ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 10:29 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
Может, удобней пользоваться CursorAdapter? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 10:51 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
FfffffffffffffffМожет, удобней пользоваться CursorAdapter? CAD - имеет ряд ограничений (нельзя получить несколько курсоров, множественное срабатывание триггеров при модификации), хотя так же имеет плюсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 11:31 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
Я к тому, что может автор вопроса не знает о такой возможности. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 11:45 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторПо логике, я должен просканировать курсор в котором производились изменения, и отправить на сервер серию серию DML запросов. по логике, Вы должны использовать инструменты, которые это сделают самостоятельно, и не нужно ничего сканировать и отправлять ищите слово курсорадаптер и примеры ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 12:06 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторCAD - имеет ряд ограничений это не ограничение, а именно предназначение один КАД = одному курсору и никак иначе Ваши привычки и приемы не принимались во внимание при разработке абстрактных базовых классов, и это правильно. Для использования в качестве источника при построении ф-мы ред-я документов выбор КАД является правильным и экономит трудозатраты. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 12:13 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
2PaulWist авторДалековато, однако, а так бы взялся :) интересно как? тупо рисуя каждую форму и треся руками сервер? и в одно лицо убился-бы сам и завалил сроки. рьяное желание бить руки наталкивает на мысль: Вы работали с чем-то абстрактным? Видели построители интерфейсов посредством настройки словарей данных (метаданных) и т.д.? не обязательно это должен быть продукт, разработанный посредством фокспро, а тот-же сапр - селекционные экраны, ракурсы и т.д.. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 14:46 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимоавторПо логике, я должен просканировать курсор в котором производились изменения, и отправить на сервер серию серию DML запросов. по логике, Вы должны использовать инструменты, которые это сделают самостоятельно, и не нужно ничего сканировать и отправлять ищите слово курсорадаптер и примеры это очевидно)) Однако не обладаю на данный момент такими глубокими знаниями среды. Знаю фокс про на уровне шестой версии и то много пробелов. Но курсор адаптер посмотрю обязательно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 19:47 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимо2PaulWist авторДалековато, однако, а так бы взялся :) интересно как? тупо рисуя каждую форму и треся руками сервер? и в одно лицо убился-бы сам и завалил сроки. .. Это сильно, взять мой пост с одного форума, что бы я ответил на другом форуме Саня, давай не будем устаривать "звёздных войн". Автору было рассказано про ограничения, если в какой-то момент он захочет получить несколько курсоров посредством CAD-a и у него не получиться, то возможно он вспомнит этот тред и не будет наступать на грабли, на которые уже наступили до него :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:12 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторесли в какой-то момент он захочет получить несколько курсоров посредством CAD-a и у него не получиться, то возможно он вспомнит этот тред и не будет наступать на грабли, на которые уже наступили до него на эти грабли наступили только упертые бараны, не понимающие абстракции. ООП разработчик, понимающий принцип устройства КАД понимает и представляет себе норму 1КАД = 1курсору и это для него не является каким-то ущемлением, а если необходимо работать с несколькими курсорами, то для этого создаются несколько КАД, а не вопят из года в год. авторСаня, давай не будем устаривать "звёздных войн". это только начало ,- мать вашу. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:19 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимоа если необходимо работать с несколькими курсорами, то для этого создаются несколько КАД, а не вопят из года в год. авторСаня, давай не будем устаривать "звёздных войн". это только начало ,- мать вашу. Начало, так начало Верни все выборки из ХП через CAD, покажи как ты создашь несколько CAD для ХП. Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:24 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
+ автормножественное срабатывание триггеров при модификации а как они сработают если sqlexec("update tt set kk = 1 where id=1") sqlexec("update tt set kk = 4 where id=2") ? почему при генерации строк обновления КАДом не должны отработать при выполнении этих команд на сервере триггеры? в чем "плохость" этого к примеру при изменении какой-то детализации документа? может "плохость" и непонимания КАД растет из-за упертости и своих любимых приемов разработки? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:33 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторВерни все выборки из ХП через CAD, че ржешь та? как сивый мерен? утрись и убейся ап стол. я так не буду делать. и для КАД не буду возвращать несколько отборов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:34 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
был бараном - бараном и помрешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:35 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторВерни все выборки из ХП через CAD, покажи как ты создашь несколько CAD для ХП. 2 PaulWist ты идиот? или как? что ты мне рисуешь, какие-то дебильные примеры про возврат нескольких курсоров. выше не читаешь один, только один должен быть курсор! и это не является неудобством или ограничением. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:38 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимо+ автормножественное срабатывание триггеров при модификации а как они сработают если sqlexec("update tt set kk = 1 where id=1") sqlexec("update tt set kk = 4 where id=2") ? почему при генерации строк обновления КАДом не должны отработать при выполнении этих команд на сервере триггеры? в чем "плохость" этого к примеру при изменении какой-то детализации документа? может "плохость" и непонимания КАД растет из-за упертости и своих любимых приемов разработки? 1. Совсем не обязательно с клиента обновлять каждую запись как ты показал. 2. Детали документа передаются на сервер в ХП, в ней "курсор" фокса "разворачивается" и одним пакетом накатывается на таблицу источник, таким образом происходит всего одно срабатывание триггера. 3. Давай не будем хамить друг другу если, что-то не ясно в технологии, спрашивай. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:42 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
автор3. Давай не будем хамить друг другу если, что-то не ясно в технологии, спрашивай. давай не будем на своих устоях, приемах опошлять какие-то иные способы реализации? мне все яснов технологии КАД и очень давно, что успешно реализована, и на чем приобретен опыт данных реализаций. поэтому Ваши крики души - на фоксклаб, пожалуйста, и там "трите" из пустго-в порожнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:51 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
автор1. Совсем не обязательно с клиента обновлять каждую запись как ты показал. 2. Детали документа передаются на сервер в ХП, в ней "курсор" фокса "разворачивается" и одним пакетом накатывается на таблицу источник, таким образом происходит всего одно срабатывание триггера. это трудозатратно! еще раз: КАД позволяет экономить трудозатраты, помогаент разработчику быстро решить задачу, сглаживает некоторые огрехи(ошибки), которые вылазят при ручном трясении сервера если разработчик стремится к минимазации затрат, пытается строить фрейм, то он должен выбрать КАД. те разработчики, которые трясут руками сервер, имеют большие трудозатраты. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 12:56 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимоавтор3. Давай не будем хамить друг другу если, что-то не ясно в технологии, спрашивай. давай не будем на своих устоях, приемах опошлять какие-то иные способы реализации? мне все яснов технологии КАД и очень давно, что успешно реализована, и на чем приобретен опыт данных реализаций. поэтому Ваши крики души - на фоксклаб, пожалуйста, и там "трите" из пустго-в порожнее. Странный подход! А если кто-то другой имеет опыт работы с SQL Server через Не кад их всех надо посылать на фоксклаб? Что-то вас заносит. Тут все имеют право высказать свои точки зрения, а не только вы. Нравится вам КАД - прекрасно, работайте на нем, но не затыкайте рот другим. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 14:44 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторНравится вам КАД - прекрасно, работайте на нем, но не затыкайте рот другим. буду затыкать, так как не нужно писать бред. на бред - сосответствующий посыл. будет еще бред - будет посыл далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 14:49 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторимеют право высказать свои точки зрения, а не только вы. жду высказываний. моя точка зрения, и еще одного присутствующего была в том, что для решения озвученной задачи топикпастеру лучше использовать КАД. PaulWist + Aleksey-K пытались повести топикпастера по трудозатратному пути. еще есть желающие высказаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 14:53 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимоавторНравится вам КАД - прекрасно, работайте на нем, но не затыкайте рот другим. буду затыкать, так как не нужно писать бред. на бред - сосответствующий посыл. будет еще бред - будет посыл далее. Бред... это вы "проповедуете" бред! Типа "аспирин", это лекарство от всех болезней. Ваш подход низводит мощную программную платформу, каким является SQL Server в "удаленный" курсор к которуму вы обращаетесь на "высокоабстрактом" уровне - через КАД. Ваш подход плодит программистов, которые переносят опыт и наработки в технологии "файл-сервер" в мир клиент-сервер! А этом же цель всех видов "абстракций"! Забудем, что у нас на той стороне сервер со своим языком программирования и будет работать с ним как и раньше работали с dbf - файлами. Класс! Создали массу КАД-ов и у нас полный ООП на клиенте. Ну и резальтат такого подхода мы можете наблюдать на всех форумах по 1С - "Что мне делать с deadlock?"," Почему при переходе на клиент-сервер с файл-сервер у меня так сильно упала скорость работы" и т.п. Остовитесь пока не поздно! Т.е. с вами уже все поздно, но не надо свою религию под названием "Все может КАД" так агрессивно двигать в "массы". Дайте людям шанс освоить другую технологию, которая рано или поздно заставит из освоить язык SQL Server (t-sql) и передать ему обработку данных, а клиенту (VFP) выполнять то, что и должен делать клиент - доп. обработка и удобное для конечного пользователя представление данных. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 15:18 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторБред... это вы "проповедуете" бред! Бред проповедуете Вы, заставляя программистов делать ненужные преобразования и таскания курсоров на сервер. Беред проповедуете Вы, не имея опята реализации с использованием КАД. использование КАД никоим образом не заменяет(не подменяет) и не освобождает от разработки на стороне сервера, а позволяет облегчить взаимодействие с сервером. автор Почему при переходе на клиент-сервер с файл-сервер у меня так сильно упала скорость работы" и т.п. Остовитесь пока не поздно! Вы пишете бред. Так как и руками разработчик может потянуть большой объем на клиента, причем здесь КАД? Остовитесь пока не поздно! Пусть разработчики увидят и попробуют альтернативный способ работы. авторДайте людям шанс освоить другую технологию, которая рано или поздно заставит из освоить язык SQL Server (t-sql) и передать ему обработку данных Вы вновь пишете бред! КАД также прекрасно дает возможность освоить транзакт-скл, и облегчает работу! авторудобное для конечного пользователя представление данных. КАД удобно предоставляет разработчику данные и облегчает разработку! Далее уже разработчик удобно или неудобно представляет эти данные пользователю. В сад - все в сад на фоксклаб и там несите БРЕД! ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 15:50 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо > моя точка зрения, и еще одного присутствующего была в том, > что для решения озвученной задачи топикпастеру > лучше использовать КАД. > > PaulWist + Aleksey-K > пытались повести топикпастера по трудозатратному пути. Да топик стартеру сейчас пофиг на трудозатраты, он спрашивает как сделать. Когда он дорастет до оценки трудозатрат, тогда и будет интересоватся этим вопросом. > еще есть желающие высказаться? Я очень ценю, твой професионализм в ответах, но сейчас ты ведёш себя как моя(наша?) кандидатка в президенты. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 15:57 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторДа топик стартеру сейчас пофиг на трудозатраты, он спрашивает как сделать. Когда он дорастет до оценки трудозатрат, тогда и будет интересоватся этим вопросом. вот именно, топикпастеру сейчас проще взять пример с КАДом и понять как это работает а не устраивать скачки по измененному курсору авторЯ очень ценю, твой професионализм в ответах, но сейчас ты ведёш себя как моя(наша?) кандидатка в президенты. эти моральные уроды за..., поэтому посылаются в сад. и мне абсолютно не интересны оценки со стороны. это давнишняя борьба, с уже устоявшимися оценками и выводами - теперь только разговоры с посылами - иного не дано. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 16:01 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
Для начала, лично я также считаю, что автору темы стоит ознакомиться с CursorAdapter. Будет он его использовать или нет - зависит от его личных предпочтений и конкретной задачи . ========================================== Теперь по поводу "звездных войн" Проблема в том, что несмотря на громкую пропаганду ООП, Александр не в состоянии абстрагироваться от того, что реализовал он лично. От своего собственного FrameWork и от своих собственных задач. Он все время "вязнет" в конкретной реализации, подразумевая под этим только и исключительно то, с чем сталкивался он лично. Естесственно, за это и "получает". Ведь задачи бывают очень разные. Поскольку он чувствует, что "вразумительного" ответа у него нет, то и переходит на ругань и оскорбления, как в данном случае. Он просто не на том уровне пытается отвечать. Не тот уровень абстракции, как ни странно... Как говорил Козьма Прутков: "Зри в корень!" Чем принципиально отличается работа через SQLExec() от работы с CursorAdapter? Только и исключительно тем, что CursorAdapter позволяет автоматизировать некоторые стандартные операции с базой данных. Причем база данных также должна быть до некоторой степени "стандартной". Удобной с точки зрения ее обработки через CursorAdapter. Как только возникает необходимость отойти от "стандарта", на который рассчитан CursorAdapter, так тут же возникают проблемы, реализовывать которые приходится либо путем сложного "обхода" в CursorAdapter, либо прямыми запросами SQLExec(). Ну и чего ругаться спрашивается?... Если задача соответствует "стандарту" - используй CursorAdapter. Не соответствует - используй прямые команды SQLExec(). Спор на уровне реализации приложения - бессмысленный (а именно на этом уровне пытается спорить Александр). Поскольку на этом уровне, как ни странно, даже общее количество кода примерно одинаковое. Ведь рано или поздно, но любой программист создает собственный FrameWork, после чего он уже может правдиво заявлять, что способен легко и быстро решить "любую" задачу. Только вот, Александр забывает, что да, действительно, любую, но только ту, на которую рассчитан его FrameWork ! А дальше, все как обычно... Если задача не решается в рамках написанного FrameWork, то возможны два варианта: 1. Если программист еще молод (в первую очередь - душой), то он способен переписать FrameWork хоть с нуля. Разумеется, если задача этого потребует... 2. Если программист постарел (в первую очередь - душой), то сразу же последует: "задача не правильная", "постановщики идиоты" и вообще, что с вами разговаривать... В общем, со стариками всегда сложно. Капризные очень... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 19:52 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
руки не устали по клавишам стучать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 21:43 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
топикпастеру: я даю Вам пример, поиграйтесь и поймите см.ридми разобравшись, Вы поймете, что Вас удержали от написания обилия ненужного кода. также, когда Вы разберетесь с настройками и принципами работы с КАД Вы избежите ряда проблем и ошибок, которые бы Вы решали в случае работы с сервером руками. кулинару: вместо психологичеких опусов хотелось бы видеть какие-то примеры творчества, вместо этого - пустое трепательство. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2010, 22:04 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимохотелось бы видеть какие-то примеры творчества, Если Вы подразумеваете реализацию через SQLExec() (о чем, если Вы помните, и шел спор), то пожалуйста: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Как можете видеть, общее количество кода примерно равно тому, что написано в Вашем примере. Насколько я понимаю, это именно то, что хотел автор данной темы. Кстати, кроме класса CursorAdapter есть еще объект Remote View, который проще освоить. А если использовать файл формы SCX и объект DataEnvironment, то отпадает необходимость ручной привязки полей выборки к объектам формы. Эту операцию можно сделать мышкой. Без программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2010, 20:40 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторобщее количество кода примерно равно тому, этот человек - вредитель. по коду и реализации грамотный разработчик поймет, что данный теоретик учит тому, как делать нельзя. данный прием можно критиковать бесконечно: 1. представлен явно "глючный" код, которые не будет работать (будет работать при определенных тепличных условиях) 2. показывающий пример ни коим образом не задумывался о масштабировании, о том, что произойдет если изменится структура таблицы и т.д. ... 3. показывающий пример ни коим образом не задумывался о трудозатратах. данный теоретик обсуждает возможности реализации не принимая в учет оптимальность разработки, оптимальность приемов, которые снижают трудозатраты, позволяют безболезненно масштабировать приложения, сопровождать их. иными словами: данный теоретик не учит и не желает обучать разработчикам приемам, которые облегчают, упрощают процесс создания приложения и снижают количество ошибок и т.д. возможно это связано с тем, что данный теоретик явно не профессиональный программист и не имеет успешных реализаций. весь треп данного теоретика полезен только начинающему разработчику, далее все советы этого теоретика - вредны. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 09:32 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
прошелмимоавторКак можете видеть, общее количество кода примерно равно тому, что написано в Вашем примере 2 кулинар: баран. просьба начинающим этот показанный бред забыть и такого не повторять. ВладимирМ - не программист, а теоретик. Слушайте, вы "программист"! Вы бы угомонились! Я как-то скачал пару ваши "шедевров", которое вы тут тоннами выкладываете! Они даже для обучения не годятся - столько всего в них, вызывающего мягко говоря, недоумения. И вы "это" предлагаете изучать начинающим программистам! Ваша навязчивая идея использования КАД для всего, что можно и не можно говорит, что ничего сложнее программы ввода платежек вы не разрабатывали. И уж точно в команде не работали! Долго тут слушал ваш бредовые размышления по поводу использования КАД, как пример использования ООП в клиентских приложениях систем клиент-сервер. Ну, надо же, удумали! В качестве уровня абстракции приложения использовать КАД! Если так строить систему, то ее никогда не построить, а главное не обслужить должным образом! Да не дай бог с таким архитектором системы иметь дело! Наплодит тысячи КАДов и будет тыкать каждому, как это классно, что командной UPDATE (SELECT, INSERT, DELETE) VFP у него будут манятся данные на сервере. Бес всякого уважения к [прошелмимо], Алексей P.S. Модератор, может пора забанить его за прямые оскорбления. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 10:33 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторЯ как-то скачал пару ваши "шедевров", которое вы тут тоннами выкладываете! авторНаплодит тысячи КАДов странно, накачал шедевров, а не заметил, что тысячами я их не плодил, и как раз призывал к тому, что их плодить не нужно. авторСлушайте, вы "программист"! сам - дурак. авторИ уж точно в команде не работали работал и работаю, и мои приемы помогают сокращать трудозатраты, себестоимость, за что и получаю зар.плату. Вы в своей команде варитесь в своем соку - варитесь. Разумного зерна Вы видеть не желаете, на каждый пример все одно любые возоажения. Работайте с XML и парсите на здоровье на стороне сервера. Только про КАД умозаключения не нужно делать - у Вас нет опыта реализаций. авторVFP у него будут манятся данные на сервере Вы видели реализацию? Ну я приводил пример документа с детализацией. Работает. Могу там воткнуть вызов ХП с проверками какими-то. Будем дедлоки искать или измерять скорость работы на определенных объемах? Затем напишем Ваш "бред" с парсингом XML на стороне сервера и расскажем какая квалиф-я нужна на написание и сопровождение, и что случится в случае доработок. слав те, господи, что не попал к Вам на спиртзавод. ну и т.д. Без всякого уважения к "упертым баранам", Александр. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 10:44 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
авторМодератор, может пора забанить его за прямые оскорбления. ну не я первый начал. язык за зубами про КАД нужно держать и не трепать. Пусть Паша с фоксклаба покритикует скачки с курсоом на тему срабатывания триггеров. это не фоксклаб. я просил - не провоцировать. на каждую провокацию - соответствующий посыл. ну пока не пристрелили - лозунг разработчикам: ребята, не слушайте "упертых баранов". Пробуйте и эспериментируйте с КАД. Этим Вы облегчите себе разработку: сократится время и увеличится стабильность работы. Далее при каких-то проблемах с оптимальностью Вы уже будете оборачивать что-то в ХП, производить какие-то доработки архитектуры и т.д. Использование КАД никоем образом не снижает "оптимальность" взаимодействия с сервером, использование каких-то сервисов, объектов БД и т.д., не влияет, не делает ущербной разработку БД на стороне сервера и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 10:52 |
|
Cursor + SQLExec + MS SQL
|
|||
---|---|---|---|
#18+
ну, констатируем: автор топика задал вопрос: авторПо логике, я должен просканировать курсор в котором производились изменения, и отправить на сервер серию серию DML запросов. Как узнать что запись в курсоре была изменена? или добавлена/удалена. Вариант в лоб - хранить оригинальный курсор, к сетке привязывать копию и при сохранении изменений тупо сравнивать строки. Но думаю есть более производительные решения. в ходе обсуждения установлено: оптимальным решением, стоящей перед автором задачи, является использование КАД. автору дан пример, который должен продемонстрировать некий прием, последовательность настройки и взаимодействия с базовым классом. автор должен поиграться, попробовать повторить и сделать выводы. далее установлено: есть группа непримеримых разработчиков, архитекторов, владельцев бизнеса, специалистов, теоретиков .... будем воевать, господа. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2010, 11:10 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1585609]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 331ms |
total: | 486ms |
0 / 0 |