![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Вопрос такой:
Я составил приблизительную структуру БД из трех связанных таблиц и хочу ее реализовать в виде удаленной БД. В книгах я вижу решение этой задачи с использованием BDE. Но мне бы не хотелось использовать BDE, т.к. драйвер этот нужно инсталировать (я знаю как внедрять его в инсталяционный пакет, но в данной задаче нужно обойтись без этого). Так же не хочется использовать InterBase. 1) Есть ли решения позволяющие решать подобную задачу без BDE? какие? 2) Каким образом в БД можно хранить фотографии JPEG? 3) Есть ли сжатые форматы таблиц (чтобы База не разрасталась)? Спасибо. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
ADO?
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
1)Без использования какой либо существующей СУБД - написать все самому))))
2)Для хранения картинок используй BLOB поля таблицы. 3)То есть не разрасталась? Это уже все будет зависить от того как ты спроектировал ее, можно ведь контролировать вносимые данные, своевременно удалять старые и т.д. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Спасибо!
ADO установлен по умолчанию? СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
По моему ADO дожен поддерживаться большиством Винд, но тончо уверять не могу - не проверял
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
ну, не совсем ADO... скорее, мидас. есть там такая штука - TClientDataset, позволяет организовать flat-file базу данных. для инсталляции потребуется скопировать в систему midas.dll. возможности те же, что и при работе с обычными таблицами. БДЕ не требуется.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
АДО в 9Х, МЕ и НТ - есть по дефаулту.
|
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: 1 Всего: 61 |
Пробуй ODBC этот прописан в любой винде, через него Acces работает
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Jey_k, ODBC - это не субд. это средство, позволяющее работать с различными СУБД через некий унифицированный механизм. и кроме него всё равно понадобиться либо БДЕ, либо Interbase, либо что-то ещё, твоё предложение проблемы не решает.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Спасибо.
Вопрос опять Как связать 3 таблицы вида (поля заголовков без ненужных полей (обозн. Data)): 1) ObjNum(+)(ключевое), Date, Time, Data 2) TypeNum(+)(ключевое), ObjNum, Data 3) Num(+)(ключевое), TypeNum, Data Это заголовки (поля). Как связать поля разных таблиц: ObjNum,TypeNum чтобы на запрос из первой выпадали соответствующие (по этим самым ObjNum,TypeNum) данные из двух других таблиц? СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Например так, если я не ошибся:
А затем выбирай сколько угодно
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| Proximo_RZN |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 16.3.2004 Где: Рязань Репутация: нет Всего: нет |
Попробуй использовать технологию тонких клиентов - это фактически СУБД, прикомпилируемая к твоей проге.
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
<Spawn> , если я правильно понимаю, имеется в виду работа с визуалкой.
PILOTIK, способов много. приведу один из самых простых. создаёшь три запроса (TQuery) и три подключенных к ним источника данных (TDatasource) и настраиваешь следующим образом: 1. SQL := 'select objnum, "date", "time" from table1'; 2. SQL := 'select typenum, objnum, data from table2 where objnum = :objnum'; DataSource := Datasource1; 3. SQL := 'select num, typenum, data from table3 where typenum = :typenum'; DataSource := DataSource2; означает это следующее. с первым, я думаю, всё понятно - просто тупо берём из базы все значения. во втором вводим условие - objnum = :objnum. ":" - это стандартное обозначение параметра. по умолчанию нам бы пришлось перед открытием таблицы этот параметр задавать. но поскольку мы указали DataSource = DataSource1, то значение этого параметра будет браться из источника данных первой таблицы. для этого нужно, чтобы название параметра и поля, которое будет служить этим параметром, совпадали. по тому же принципу настраивается и третья квери. теперь можно кинуть на форму три грида, привязать их к трём источникам данных, и при навигации по первому гриду будут меняться значения во втором и третьем, а при навигации по второму - только в третьем. вариант с использованием TClientDataset (то, что предлагал я и то, что фактически предалагает Proximo_RZN) работать с кверями не позволит, но там можно организовать это иначе. например через свойства MasterSource/MasterFields (что потребует создание соответствующих индексов), либо через ручную фильтрацию (свойства Filter и Filtered). Фильтрация дочерних таблиц реализуется программно в обработчике AfterScroll главных таблиц. Добавлено @ 16:39 кстати, из тонких клиентов ещё стоит обратить внимание на такие штуки, как VolgaDB и SAM. достаточно навороченные библиотеки для работы с базами без БДЕ. Волга, по-моему, даже бесплатная. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
ADO или ODBC работают очень медленно, по сравнению с BDE.
Но можно использовать dbExpress - распространение всего двух или трех фалов вместе с программой (0.500-0.9 мБ) |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: нет Всего: 54 |
Спасибо! Как сделаю отпишусь, т.к. возникнут еще вопросы... например почему нельзя JPEG заливать в БД? Он обязательно преобразуется в BMP ;( СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |