Научите работать с Data Environment | |
---|---|
ZenTigra Автор Сообщений: 514 Дата регистрации: 03.12.2004 |
Здравствуйте форумчане, много вы мне помогали, помогите еще раз.
Сейчас начал писать маленькую новую программку, и хочу себе облегчить труд. Хочу разобраться как работать с Dataenvironment. Проблема вот в чем. 1.У меня есть несколько баз данных, одна тестовая, другая рабочая (Как между ними переключаться в программе, вернее как это прописывать в Dataenvironment) Раньше при запуске программы я выбираю какую базу подключить, и благодаря DO CASE.... ENDCASE, я подключал, ту или иную БД. Как теперь сделать это в Dataenvironment? 2.У меня есть много одинаковых таблиц, у которых одинаковая структура, благодаря Alias я могу с ними работать из одной формы
И возможно ли это сделать? PS.Не может же такого быть, что VFP такого не умеет, как же тогда переносить программу на другой компьютер, или диск. Исправлено 1 раз(а). Последнее : ZenTigra, 12.09.20 07:53 |
Re: Научите работать с Data Environment | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...
|
Re: Научите работать с Data Environment | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Кардинальный совет, отказаться от Dataenvironment.
Насовсем, навсегда. Забыть о его существовании. 1. Сделайте класс доступа к данным. Возможно сразу не ясно. Сделайте процедуру. Если постараться сделать ее максимально абстрактной, то вот и базовый класс. Да бог с ним, это можно и позже, а сначала, пищите процедуры. А потом ищите в них общие черты, сигнатуру, заготовка для будущего класса. И там, мне кажется вам ясно как переключаться между БД. 2. Исходя из первого ответа, второй напрашивается сам. Вы делаете процедуру получения данных, структура одинаковая, а откуда, можно передать в параметре. И забудьте про инструмент для домохозяек - Dataenvironment. Исправлено 1 раз(а). Последнее : Аспид, 12.09.20 08:13 |
Re: Научите работать с Data Environment | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
И еще совет. Не работайте с таблицами напрямую, работайте с курсорами. Хотя конечно, поначалу будет сложнее Это даст опыт работы (хоть какой то), работы, с настоящими СУБД. Полегче переходить будет. Хотя конечно, поначалу сложнее будет |
Re: Научите работать с Data Environment | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
of63> А зачем открывать нужную таблицу именно в DE формы? Можно открывать нужную таблицу в LOAD формы, или вообще при старте программы...
>> И еще совет. Не работайте с таблицами напрямую, работайте с курсорами. Спасибо, Владимир! |
Re: Научите работать с Data Environment | |
---|---|
ZenTigra Автор Сообщений: 514 Дата регистрации: 03.12.2004 |
Так я так сейчас и делаю, просто хотел схитрить, чтоб код не писать, думал мышкой поеложу и все... |
Re: Научите работать с Data Environment | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Куй )
|
Re: Научите работать с Data Environment | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Вист!.. |
Re: Научите работать с Data Environment | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Вистующий со...
ДзэнТигра, извини, модеры сотрут тот перепихон Но ты и сам не плошай (раз на русфоруме черпаешь инфу) Исправлено 1 раз(а). Последнее : of63, 12.09.20 21:48 |
Re: Научите работать с Data Environment | |
---|---|
PaulWist Сообщений: 14620 Дата регистрации: 01.04.2004 |
Открывать табличку в Form.Load можно, но лучше создать отдельный метод (что и как в нем выполнять - это другой разговор), который дёргать из Form.Init. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Научите работать с Data Environment | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
ну да, осваивать старый добрый способ - "подпрограммы". Вау! Налетай! Обьясню как это устроено... За знанте видимости переменных - одднльная тема зачетов.
|
Re: Научите работать с Data Environment | |
---|---|
of63 Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Ю Открывать табличку в Form.Load можно, но лучше создать отдельный метод (что и как в нем выполнять - это другой разговор), который дёргать из Form.Init.
Паша, при все уважении, Лоад и Инит отличаются.. тем что ими нужно пользоваться (они сделаны) по разному! (вот так) |
Re: Научите работать с Data Environment | |
---|---|
PaulWist Сообщений: 14620 Дата регистрации: 01.04.2004 |
Поэтому в Init лучше открывать и привязывать данные, когда все объекты уже существуют, правда придётся отказаться от мышкодавства и прописывать всё руками, но это только по первости напрягает. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Научите работать с Data Environment | |
---|---|
lulgu Сообщений: 1838 Дата регистрации: 30.11.2016 |
У каждого свой DE.
У кого-то инструмент для домохозяек, у кого-то - для работы своя версия. Исправлено 1 раз(а). Последнее : lulgu, 13.09.20 08:36 |
Re: Научите работать с Data Environment | |
---|---|
ZenTigra Автор Сообщений: 514 Дата регистрации: 03.12.2004 |
Все вопрос закрыт.
Начал проводить тестирования DataEnvironment, не понравилось, я ожидал большего... Сохраненных пару минут, при написание кода вручную, не компенсирують те проблемы которые возникают у меня при его использовании... |
Re: Научите работать с Data Environment | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Весьма спорное заявление. По мнению разработчиков всё же более подходит для создания источников данных метод Load (возможно без из реального заполнения, т.е. в режиме NoData), а привязка данных осуществляется путём задания свойств у объектов во время разработки, а не кодом в Init. DE в некоторых случаях использовать можно, но... Сложность обработки ошибок открытия курсоров, сложность управления порядком открытия курсоров, отсутствие штатной возможности создания своего базового класса DE для использования в качестве основы для DE форм (можно создать свой базовый класс DE, потом создать конкретный класс DE для одной или нескольких форм, и его уже "подключить" к форме в немодифицируемом виде - но нельзя просто прописать базовый класс а в форме уже набрасывать свои объекты-курсоры в DE). ------------------ WBR, Igor |
Re: Научите работать с Data Environment | |
---|---|
Taran Сообщений: 13625 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Или я не нашёл или нету DE в классе на Form.
Использование чистых форм SCX пис--ц. Лет 20 как забросил. Ибо это для стариканов оставлено для совместимости. |
Re: Научите работать с Data Environment | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Не, scx это типа RAD - быстрая разработка. х*як-х*як и в продакшн.
Всё на то и заточено - мышкой то кинул, там перетащил и готово. Быстрее только визардом, но там свои, кхм, "нюансы". ------------------ WBR, Igor |
Re: Научите работать с Data Environment | |
---|---|
Аспид Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Да ладно, ясно же что имел ввиду Паша. Ну не код же,у каждой формы, заполняющей данными объекты формы. А если есть класс доступа к данным и он же класс заполняющий объекты, то его сам бог велел в ините вызывать.) Вот зря такие вещи пишешь))) Мудрый и внимания не обратит, а новичек, скажет... "ага, у меня тот самый случай")))) Есть же на фоксе новички, как не странно) |
Re: Научите работать с Data Environment | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Увы, тоже не совсем удачное для этого место. Из-за несколько странной реализации этого метода собственно в фокспро. Когда-то давно, перебирая все загружаемые поочерредно методы, я обнаружил самое подходящее для создания источников - как раз таки в DE - в методе BeforeOpenTables. Который возможно единственный и имеет смысл использовать даже и без использования прочих возможностей DE, предлагаемых разработчиками. Именно в этом методе скажем созданный курсор отлично затем цепляется к чему угодно - скажем без проблем становясь источником хоть того же грида. Заполнять его разумеется можно и после - например в том же Init грида, что в принципе смотрится достаточно логично, ну можно и формы, если уж есть такая необходимость по какой-то причине. В целом же, как мне кажется, все проблемы DE - из-за недоработки его на этапе последней их версии. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
© 2000-2024 Fox Club  |