C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Помогите с БД
NoName
Отправлено: 27.03.2006, 19:34


Не зарегистрирован







Решил написать и сюда, здесь больше народу бывает.
Помогите решить задачу, моя прога это большая универсальная записная книжка, в TreeView кликают и в RichView подгружается файл с заданным именем и по указанному каталогу, но это только первый шаг теперь это надо перевести на БД, иначе в несколько тысяч записей очень напрягает ФС, файлы могут достигать в размере до 5 мегов, вот надо этот файлЫ запихнуть в БД, посоветуйте как это сделать с БД неработал но очень нужно, какаю БД выбрать.
BUILDER 2006.
Guest
Отправлено: 01.05.2006, 23:22


Не зарегистрирован







Самое первое, что приходит в голову, это использовать базу данных MSAccess. Я бы создал таблицу, в которой были бы следующие поля:

1) Name  — Имя узла дерева
2) Parent  — Имя родительского узла
3) FullName — Намиенование узла дерева
4) Text — то, что ты хранишь в файле с заданным именем и по указанному каталогу

Построение дерева производится с помошью рекурсивного вызова соответствующей функции.

Данные в RichEdit (наверное этот компонент ты имел в виду, когда писал RichView) можно загружать не через LoadFromFile, а через LoadFromStream. Для этого тебе нужно будет предварительно создавать поток и загружать в него данные из таблицы, из поля Text.
Valdemar
Отправлено: 02.05.2006, 09:42


Мастер участка

Группа: Участник
Сообщений: 433



Можно конечно и MS Access, а можно и Firebird Embedded.
По поводу предложенной Гостем структуры таблицы хочу дать некоторые замечания. Обязательно нужен id записи (первичный ключ) и parentId, для ссылки на родителя, остальное по мере необходимости.
Alex1000
Отправлено: 02.05.2006, 15:34


Ученик-кочегар

Группа: Участник
Сообщений: 13



У аксеса есть ограничение на размер базы — 2 Гига.

Вернуться в Вопросы программирования в C++Builder