powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Динамическое подключение БД
10 сообщений из 10, страница 1 из 1
Динамическое подключение БД
    #34766793
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как можно сделать так, чтобы можно было динамически подключать к форме разные базы, чтобы для каждой БД не рисовать свою форму
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34766863
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если под термином "база данных" понимаются таблицы DBF, то брось эту затею. Она того не стоит. Даже если сейчас обработка разных таблиц совершенно одинаковая, то с течением времени обязательно появятся какие-либо отличия. И сопровождение сильно навороченной универсальной формы выльется в большие проблемы.


Если же под термином "база данных" понимается контейнер базы данных (файл DBC) при том, что таблицы DBF будут иметь те же имена и структуры, то возникает ряд дополнительных вопросов:

- будет ли "другой" контейнер базы данных иметь то же самое имя
- предполагается ли одновременная работа с несколькими контейнерами базы данных (одна форма с одинм, а другая с другим)
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34766898
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как раз первый вариант, так что будем искать другой подход
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34766942
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правило, многие формы имеют почти одинаковый внешний интерфейс и, иногда, общие методы обработки. Как следствие, такие общие части оформляются в виде класса или иерархии классов.

А собственно форма (привязка к данным) - это экземпляр этого класса.

В результате, создание новых форм - это не "тупое" копирование, а создание нового экземпляра класса с указанием конкретных источников данных.
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34767114
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может поделитесь другими идеями, ситуация такова: Сначала открывается стартовая форма, где выбирается источник данных из списка как в 1С. Я пробовал использовать SET DEFAULT TO для изменения пути по умолчанию и подключения данных из другой папки (имена и структуры таблиц одинаковые). Такой способ вроде прокатывает если сделать недоступным исходную базу, которая использовалась при проектировании (например переименовать папку), но кое-какие ругательства все-таки проявляются, хотя и не влияют на результат
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34767216
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Тимур_Может поделитесь другими идеями, ситуация такова: Сначала открывается стартовая форма, где выбирается источник данных из списка как в 1С. Я пробовал использовать SET DEFAULT TO для изменения пути по умолчанию и подключения данных из другой папки (имена и структуры таблиц одинаковые). Такой способ вроде прокатывает если сделать недоступным исходную базу, которая использовалась при проектировании (например переименовать папку), но кое-какие ругательства все-таки проявляются, хотя и не влияют на результат 1. Правильно делал. Только SET DEFAULT лучше заменить на
Код: plaintext
set path to (set('path') + 'путь до базы')
и обращаться к таблицам только по имени (без путей)
2. Я давным давно проблему пути к базе при разработке решил созданием отдельного диска M: для исходников, чтобы пути у клиента с моими никогда не совпали.
3. Какие именно ругательства остались?
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34767359
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что-то вроде could not found form1
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34767438
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Тимур_что-то вроде could not found form1Читай п.1
SET DEFAULT меняет рабочую папку программы или если ты работаешь из IDE или форма в EXE не включена, то фокс не может ее найти. SET PATH добавляет список путей для поиска не меняя рабочей папки программы. тут еще почитай
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34767487
_Тимур_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ok. теперь многое стало ясно, спс, попробуем реализовать...
...
Рейтинг: 0 / 0
Динамическое подключение БД
    #34768273
Jurisfox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это достаточно просто сделать, при условии, как говорит Владимир, структура баз данных
одинакова и я это использовал многократно:
Работа с DataEnvironment

Никогда не говори "невозможно", просто попробуй сделать иначе!
JS (at FoxClub)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Динамическое подключение БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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