powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Cursor + SQLExec + MS SQL
15 сообщений из 40, страница 2 из 2
Cursor + SQLExec + MS SQL
    #36455548
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторимеют право высказать свои точки зрения, а не только вы.

жду высказываний.

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

PaulWist + Aleksey-K
пытались повести топикпастера по трудозатратному пути.

еще есть желающие высказаться?
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36455621
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимоавторНравится вам КАД - прекрасно, работайте на нем, но не затыкайте рот другим.

буду затыкать, так как не нужно писать бред.

на бред - сосответствующий посыл.

будет еще бред - будет посыл далее.
Бред... это вы "проповедуете" бред! Типа "аспирин", это лекарство от всех болезней.
Ваш подход низводит мощную программную платформу, каким является SQL Server в "удаленный" курсор к которуму вы обращаетесь на "высокоабстрактом" уровне - через КАД.
Ваш подход плодит программистов, которые переносят опыт и наработки в технологии "файл-сервер" в мир клиент-сервер! А этом же цель всех видов "абстракций"!
Забудем, что у нас на той стороне сервер со своим языком программирования и будет работать с ним как и раньше работали с dbf - файлами. Класс! Создали массу КАД-ов и у нас полный ООП на клиенте. Ну и резальтат такого подхода мы можете наблюдать на всех форумах по 1С - "Что мне делать с deadlock?"," Почему при переходе на клиент-сервер с файл-сервер у меня так сильно упала скорость работы" и т.п. Остовитесь пока не поздно!
Т.е. с вами уже все поздно, но не надо свою религию под названием "Все может КАД" так агрессивно двигать в "массы". Дайте людям шанс освоить другую технологию, которая рано или поздно заставит из освоить язык SQL Server (t-sql) и передать ему обработку данных, а клиенту (VFP) выполнять то, что и должен делать клиент - доп. обработка и удобное для конечного пользователя представление данных.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36455708
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБред... это вы "проповедуете" бред!

Бред проповедуете Вы,
заставляя программистов делать ненужные преобразования
и таскания курсоров на сервер.

Беред проповедуете Вы, не имея опята реализации
с использованием КАД.

использование КАД никоим образом
не заменяет(не подменяет) и не освобождает
от разработки на стороне сервера,
а позволяет облегчить взаимодействие с сервером.

автор
Почему при переходе на клиент-сервер с файл-сервер у меня так сильно упала скорость работы" и т.п. Остовитесь пока не поздно!
Вы пишете бред. Так как и руками разработчик
может потянуть большой объем на клиента, причем здесь КАД?
Остовитесь пока не поздно! Пусть разработчики увидят и попробуют альтернативный
способ работы.

авторДайте людям шанс освоить другую технологию, которая рано или поздно заставит из освоить язык SQL Server (t-sql) и передать ему обработку данных
Вы вновь пишете бред! КАД также прекрасно дает возможность освоить транзакт-скл,
и облегчает работу!

авторудобное для конечного пользователя представление данных.
КАД удобно предоставляет разработчику данные и облегчает разработку!
Далее уже разработчик удобно или неудобно представляет эти данные пользователю.

В сад - все в сад на фоксклаб и там несите БРЕД!
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36455733
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: прошелмимо
> моя точка зрения, и еще одного присутствующего была в том,
> что для решения озвученной задачи топикпастеру
> лучше использовать КАД.
>
> PaulWist + Aleksey-K
> пытались повести топикпастера по трудозатратному пути.

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

> еще есть желающие высказаться?

Я очень ценю, твой професионализм в ответах, но сейчас ты ведёш себя как моя(наша?) кандидатка в президенты.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36455748
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДа топик стартеру сейчас пофиг на трудозатраты, он спрашивает как сделать. Когда он дорастет до оценки
трудозатрат, тогда и будет интересоватся этим вопросом.

вот именно,
топикпастеру сейчас проще взять пример с КАДом
и понять как это работает

а не устраивать скачки по измененному курсору

авторЯ очень ценю, твой професионализм в ответах, но сейчас ты ведёш себя как моя(наша?) кандидатка в президенты.

эти моральные уроды за..., поэтому посылаются в сад.
и мне абсолютно не интересны оценки со стороны.

это давнишняя борьба, с уже устоявшимися оценками и выводами - теперь только разговоры с посылами - иного не дано.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36456279
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала, лично я также считаю, что автору темы стоит ознакомиться с CursorAdapter. Будет он его использовать или нет - зависит от его личных предпочтений и конкретной задачи .

==========================================

Теперь по поводу "звездных войн"

Проблема в том, что несмотря на громкую пропаганду ООП, Александр не в состоянии абстрагироваться от того, что реализовал он лично. От своего собственного FrameWork и от своих собственных задач. Он все время "вязнет" в конкретной реализации, подразумевая под этим только и исключительно то, с чем сталкивался он лично. Естесственно, за это и "получает". Ведь задачи бывают очень разные.

Поскольку он чувствует, что "вразумительного" ответа у него нет, то и переходит на ругань и оскорбления, как в данном случае. Он просто не на том уровне пытается отвечать. Не тот уровень абстракции, как ни странно...

Как говорил Козьма Прутков: "Зри в корень!" Чем принципиально отличается работа через SQLExec() от работы с CursorAdapter?

Только и исключительно тем, что CursorAdapter позволяет автоматизировать некоторые стандартные операции с базой данных. Причем база данных также должна быть до некоторой степени "стандартной". Удобной с точки зрения ее обработки через CursorAdapter.

Как только возникает необходимость отойти от "стандарта", на который рассчитан CursorAdapter, так тут же возникают проблемы, реализовывать которые приходится либо путем сложного "обхода" в CursorAdapter, либо прямыми запросами SQLExec().

Ну и чего ругаться спрашивается?... Если задача соответствует "стандарту" - используй CursorAdapter. Не соответствует - используй прямые команды SQLExec().

Спор на уровне реализации приложения - бессмысленный (а именно на этом уровне пытается спорить Александр). Поскольку на этом уровне, как ни странно, даже общее количество кода примерно одинаковое.

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

А дальше, все как обычно... Если задача не решается в рамках написанного FrameWork, то возможны два варианта:

1. Если программист еще молод (в первую очередь - душой), то он способен переписать FrameWork хоть с нуля. Разумеется, если задача этого потребует...

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

В общем, со стариками всегда сложно. Капризные очень...
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36456387
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
руки не устали по клавишам стучать?
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36456410
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
топикпастеру:
я даю Вам пример, поиграйтесь и поймите

см.ридми

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

кулинару:
вместо психологичеких опусов
хотелось бы видеть какие-то примеры творчества,
вместо этого - пустое трепательство.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36458868
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимохотелось бы видеть какие-то примеры творчества,
Если Вы подразумеваете реализацию через 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.
* Собственно выборка с сервера
=SQLExec(m.lnCH, "SELECT Field1, Field2 FROM MyTable", "MyCursor")

* Нужен  5  режим буферизации для редактирования в Grid
=CursorSetProp("Buffering",  5 , "MyCursor")

* Привязка Grid к результату запроса SQLExec
thisForm.oGrid1.RecordSource="MyCursor"

********************************************
* Сохранение после модификации
* Сканируем только измененные записи
select MyCursor
SET DELETED OFF
NextRecord = GETNEXTMODIFIED( 0 , "MyCursor")
do while NextRecord <>  0 
    do case
    case deleted() and IsNull(oldVal("deleted()"))
        * Создали и тут же удалили. Ничего делать не надо
    case IsNull(oldVal("deleted()"))
        * Создали новую запись. Необходимо создать новую запись на сервер
        =SQLExec(m.lnCH,"INSERT INTO MyTable (Field1, Field2) VALUES (?MyCursor.Field1, ?MyCursor.Field2)")
    case deleted()
        * Запись была удалена. Удаляем на сервере
        =SQLExec(m.lnCH, "DELETE FROM MyTable WHERE Field1 = ?OldVal([MyCursor.Field1]) and Field2 = ?OldVal([MyCursor.Field2])")
    otherwise
        * Запись была модифицирована. Если необходимо, можно уточнить по GetFldState() что именно было изменено
        =SQLExec(m.lnCH, "UPDATE MyTable SET Field1 = ?MyCursor.Field1, Field2 = ?MyCursor.Field2" + ;
            " WHERE Field1 = ?OldVal([MyCursor.Field1]) and Field1 = ?OldVal([MyCursor.Field2])")
    endcase

    * Берем следующую измененную запись
    NextRecord = GETNEXTMODIFIED(NextRecord, "MyCursor")
enddo
SET DELETED ON

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

Кстати, кроме класса CursorAdapter есть еще объект Remote View, который проще освоить. А если использовать файл формы SCX и объект DataEnvironment, то отпадает необходимость ручной привязки полей выборки к объектам формы. Эту операцию можно сделать мышкой. Без программирования.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36459381
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторобщее количество кода примерно равно тому,

этот человек - вредитель.
по коду и реализации грамотный разработчик поймет,
что данный теоретик учит тому, как делать нельзя.

данный прием можно критиковать бесконечно:
1. представлен явно "глючный" код, которые не будет работать
(будет работать при определенных тепличных условиях)
2. показывающий пример ни коим образом не задумывался о масштабировании,
о том, что произойдет если изменится структура таблицы и т.д. ...
3. показывающий пример ни коим образом не задумывался о трудозатратах.

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

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

весь треп данного теоретика полезен только начинающему разработчику,
далее все советы этого теоретика - вредны.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36459567
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимоавторКак можете видеть, общее количество кода примерно равно тому, что написано в Вашем примере


2 кулинар:
баран.

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

ВладимирМ - не программист, а теоретик.
Слушайте, вы "программист"! Вы бы угомонились!
Я как-то скачал пару ваши "шедевров", которое вы тут тоннами выкладываете! Они даже для обучения не годятся - столько всего в них, вызывающего мягко говоря, недоумения. И вы "это" предлагаете изучать начинающим программистам!
Ваша навязчивая идея использования КАД для всего, что можно и не можно говорит, что ничего сложнее программы ввода платежек вы не разрабатывали. И уж точно в команде не работали! Долго тут слушал ваш бредовые размышления по поводу использования КАД, как пример использования ООП в клиентских приложениях систем клиент-сервер. Ну, надо же, удумали! В качестве уровня абстракции приложения использовать КАД! Если так строить систему, то ее никогда не построить, а главное не обслужить должным образом!
Да не дай бог с таким архитектором системы иметь дело! Наплодит тысячи КАДов и будет тыкать каждому, как это классно, что командной UPDATE (SELECT, INSERT, DELETE) VFP у него будут манятся данные на сервере.
Бес всякого уважения к [прошелмимо], Алексей
P.S. Модератор, может пора забанить его за прямые оскорбления.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36459612
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ как-то скачал пару ваши "шедевров", которое вы тут тоннами выкладываете!

авторНаплодит тысячи КАДов

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

авторСлушайте, вы "программист"!
сам - дурак.

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

Вы в своей команде варитесь в своем соку - варитесь.
Разумного зерна Вы видеть не желаете, на каждый пример
все одно любые возоажения. Работайте с XML и парсите
на здоровье на стороне сервера.
Только про КАД умозаключения не нужно делать - у Вас нет опыта
реализаций.


авторVFP у него будут манятся данные на сервере
Вы видели реализацию?
Ну я приводил пример документа с детализацией.
Работает. Могу там воткнуть вызов ХП с проверками какими-то.
Будем дедлоки искать или измерять скорость работы на
определенных объемах?

Затем напишем Ваш "бред" с парсингом XML на стороне сервера и расскажем
какая квалиф-я нужна на написание и сопровождение, и что случится в случае доработок.


слав те, господи, что не попал к Вам на спиртзавод.

ну и т.д.
Без всякого уважения к "упертым баранам", Александр.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36459644
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМодератор, может пора забанить его за прямые оскорбления.

ну не я первый начал.

язык за зубами про КАД нужно держать и не трепать.
Пусть Паша с фоксклаба покритикует скачки с курсоом
на тему срабатывания триггеров.

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

ну пока не пристрелили - лозунг разработчикам:
ребята, не слушайте "упертых баранов".
Пробуйте и эспериментируйте с КАД.
Этим Вы облегчите себе разработку: сократится время и увеличится стабильность
работы. Далее при каких-то проблемах с оптимальностью Вы уже будете оборачивать
что-то в ХП, производить какие-то доработки архитектуры и т.д.
Использование КАД никоем образом не снижает "оптимальность" взаимодействия
с сервером, использование каких-то сервисов, объектов БД и т.д.,
не влияет, не делает ущербной разработку БД на стороне сервера и т.д.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36459712
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, констатируем:

автор топика задал вопрос:
авторПо логике, я должен просканировать курсор в котором производились изменения, и отправить на сервер серию серию DML запросов.
Как узнать что запись в курсоре была изменена? или добавлена/удалена.

Вариант в лоб - хранить оригинальный курсор, к сетке привязывать копию и при сохранении изменений тупо сравнивать строки. Но думаю есть более производительные решения.

в ходе обсуждения установлено:
оптимальным решением, стоящей перед автором задачи, является использование КАД.

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

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

будем воевать, господа.
...
Рейтинг: 0 / 0
Cursor + SQLExec + MS SQL
    #36459976
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: В связи с тем, что топик потерял актуальность я его закрываю. Просьба к «прошлемило»: воздержаться от перехода на личности и оскорбления других участников форума.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Cursor + SQLExec + MS SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]