Уважаемые коллеги!
В последнее время на форуме прослеживается живой интерес к клиент-серверным приложениям, в частности к связке VFP-MSSQL, что подвигло меня данную публикацию.
Так же, моя профессиональная деятельность за последнее время несколько изменилась и я уже не являюсь VFP программером в полном смысле этого слова, так что эта публикация является отчасти и прощальным приветом тем людям, с которыми я долгое время общался и которые несмотря ни на что несут этот крест - Visual Foxpro: Владимир Журавлев, Степанов Денис (HellRiser), Гринчишин Влад, Сергей Титов, Владимир Максимов, Кочкомбаев Тарас, Людмила, Жирнов Сергей, Насоновская Надя и многие другие.
Эти люди меня многому научили, за что им огромное спасибо.
Данный пример ни в коей мере не может служить эталоном по созданию CS приложений на VFP! Эту программу я написал, когда знакомился с MS SQL Server 7 (около 2х лет назад). Более того - это моя первая программа, использующая клиент-серверную технологию.
Ну и,самое главное, здесь используются только SPT функции, т.к. только они позволяют держать под абсолютным контролем удаленную БД, и нет ни слова о Remote View (я считаю, что не надо скрещивать два разных подхода к CS приложениям на VFP).
Тем не менее, приемы работы с данными, использованные здесь, достаточно показательны, и могут ответить на вопросы большинства интересующихся.
Именно после этого проекта я написал пакет классов для работы с удаленными данными (которые опубликованы здесь в "Решениях"), т.к. здесь в полной мере проявился недостаток процедурного программирования в отношении работы с функциями SQL pass trought (SPT), а именно:
Казалось бы - напиши универсальные процедуры и не "парься", однако, универсальность привела бы к неоправданной громоздкости этих самых процедур. Оптимальное решение - классы работы с SPT. К сожалению, к этому очевидному решению я пришел, когда уже была написана львиная доля кода и переписывать его уже не имело особого смысла - код работал. Так что учтите эти замечания, когда будете смотреть код.
Не смотря на это программа успешно эксплуатируется у нас в конторе и поныне. Говорят, что удобно.
Можно, конечно, напрячься и вычислить еще пару достоинств, но эти - основополагающие.
К программе прилагается:
Краткая инструкция по генерации БД (для успешной работы необходимо обладать правами DBcreator на MSSQL):
Если же все в порядке - создайте DSN и можно запускать программу. Обязательно прочтите Readme.txt !!!
Прошу не судить строго. Буду рад конструктивной критике, желательно прямо здесь, в разделе - чтобы другие посетители были в курсе.
Буду очень рад, если это все кому-нибудь поможет. С уважением, Орлов Дмитрий aka Jimmy.