|
Sa посоветуй пжлста. Как поступить с базой и датасетом.
|
|||
---|---|---|---|
#18+
Добрый день. У меня есть база на акесе. Таблиц всего 17. Все они связаны м/у собой. Как мне лучше сделать? Все загрузить в один ДатаСет и сделать его паблик. Чтобы можно было к его таблицам обращаться. Можно взять формВизард и указать связи м/у таблицами в этом датасете. Смысл в том, чтоб будет куча форм, в которых будет происходить работа с базой, добавление, изменение и т.д. Что скажешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 11:25 |
|
Sa посоветуй пжлста. Как поступить с базой и датасетом.
|
|||
---|---|---|---|
#18+
Вариантов туча и трудно дать однозначно правильнее решение, надо все изучать детально. Можно сделать один DataSet, обеспечить доступность класса для всех объектов приложения (то есть ГЛОБАЛЬНЫЙ ЕДИНСТВЕННЫЙ DataSet). Обернув его классом - добавить дополнительную функциональность. Можно абстрагироваться от БД создав свои классы реализующие CRUD операции (Create, Read, Update, Delete), и вынести работу с БД в DLL. Можно и абстрагироваться от DataSet подменив его своими классами (тут появляются килотоны кода) И т.д. вариантов невообразимое количество Но: Я бы не стал загружать ВСЕ записи и все бы делал только по требованию пользователя - стали нужны ему такие то данные загрузил их (опять повторюсь не ВСЕ записи). Отработал он с ними, сказал ОК тогда записал изменения в БД и т.д. Думаю идея понятна. По опыту - Для маленьких или тестовых приложений можно достаточно удобно , эффективно и быстро организовать работу c DataSet или несколькими DataSetами (при этом затратив минимум усилий), сосредоточив и логику РАБОТЫ С ДАННЫМИ, и ИНТЕРФЕЙС приложения в одном проекте и даже особо не распылясь по классам. Например можно прямо в классе формы реализовать что подобное (код утрирую): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Что касается меня и варианта с использованием одного public ДатаСет (напоминает мне чем то логику работы с данными из Delphi) ,то я лично так не делаю А в противовес формирую необходимые данные на лету, не создавая чего либо предварительно (в моих задачах такая логика терпит, а памяти расходуется меньше) Вам совет - выбирайте тот вариант какой вам удобнее, ведь вам еще предстоит отлаживать и сопровождать эту программу :-) P.S. Так много написал и почти ничего конкретного :-) Ведь у каждого способа есть свои плюсы и минусы и трудно поставить флаг и сказать делать только так и не иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2004, 13:52 |
|
|
start [/forum/topic.php?fid=17&msg=32463850&tid=1354170]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 19ms |
total: | 177ms |
0 / 0 |