|
|
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Подскажите, как можно сделать так, чтобы можно было динамически подключать к форме разные базы, чтобы для каждой БД не рисовать свою форму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:23 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Если под термином "база данных" понимаются таблицы DBF, то брось эту затею. Она того не стоит. Даже если сейчас обработка разных таблиц совершенно одинаковая, то с течением времени обязательно появятся какие-либо отличия. И сопровождение сильно навороченной универсальной формы выльется в большие проблемы. Если же под термином "база данных" понимается контейнер базы данных (файл DBC) при том, что таблицы DBF будут иметь те же имена и структуры, то возникает ряд дополнительных вопросов: - будет ли "другой" контейнер базы данных иметь то же самое имя - предполагается ли одновременная работа с несколькими контейнерами базы данных (одна форма с одинм, а другая с другим) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:37 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Как раз первый вариант, так что будем искать другой подход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:43 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Как правило, многие формы имеют почти одинаковый внешний интерфейс и, иногда, общие методы обработки. Как следствие, такие общие части оформляются в виде класса или иерархии классов. А собственно форма (привязка к данным) - это экземпляр этого класса. В результате, создание новых форм - это не "тупое" копирование, а создание нового экземпляра класса с указанием конкретных источников данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:53 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Может поделитесь другими идеями, ситуация такова: Сначала открывается стартовая форма, где выбирается источник данных из списка как в 1С. Я пробовал использовать SET DEFAULT TO для изменения пути по умолчанию и подключения данных из другой папки (имена и структуры таблиц одинаковые). Такой способ вроде прокатывает если сделать недоступным исходную базу, которая использовалась при проектировании (например переименовать папку), но кое-какие ругательства все-таки проявляются, хотя и не влияют на результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 11:25 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
_Тимур_Может поделитесь другими идеями, ситуация такова: Сначала открывается стартовая форма, где выбирается источник данных из списка как в 1С. Я пробовал использовать SET DEFAULT TO для изменения пути по умолчанию и подключения данных из другой папки (имена и структуры таблиц одинаковые). Такой способ вроде прокатывает если сделать недоступным исходную базу, которая использовалась при проектировании (например переименовать папку), но кое-какие ругательства все-таки проявляются, хотя и не влияют на результат 1. Правильно делал. Только SET DEFAULT лучше заменить на Код: plaintext 2. Я давным давно проблему пути к базе при разработке решил созданием отдельного диска M: для исходников, чтобы пути у клиента с моими никогда не совпали. 3. Какие именно ругательства остались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 11:47 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
что-то вроде could not found form1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 12:11 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
_Тимур_что-то вроде could not found form1Читай п.1 SET DEFAULT меняет рабочую папку программы или если ты работаешь из IDE или форма в EXE не включена, то фокс не может ее найти. SET PATH добавляет список путей для поиска не меняя рабочей папки программы. тут еще почитай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 12:30 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Ok. теперь многое стало ясно, спс, попробуем реализовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 12:41 |
|
||
|
Динамическое подключение БД
|
|||
|---|---|---|---|
|
#18+
Это достаточно просто сделать, при условии, как говорит Владимир, структура баз данных одинакова и я это использовал многократно: Работа с DataEnvironment Никогда не говори "невозможно", просто попробуй сделать иначе! JS (at FoxClub) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 15:17 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34766863&tid=1588833]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 364ms |

| 0 / 0 |
