Cоздание базы данных в delphi без сторонних БД
Здравствуйте Delphi'сты и им сочувствующие.
В комплекте с Delphi 7 поставляются
сразу несколько библиотек для работы с базами данных (ADO, BDE, dbExpress,
InterBase и др.). Для того чтобы создать приложение, работающее с локальной
базой данных, то вы обычно используете библиотеку BDE. Эта библиотека создана
компанией Borland и уже порядком устарела. Но без определённой подготовки
операционной системы эти компоненты работать не будут. Есть альтернатива этим
компонентам.
Существует автономный компонент
TClientDataSet который использует свой собственный формат данных.
Итак, переходим к практике. Компонент
TClientDataSet использует файлы с расширением *.CDS и *.XML мы будем
рассматривать формат CDS, так как XML формат занимает вдвое больше места на
диске и такой файл легко можно изменить, открыв его через блокнот. Этот
компонент при создании проецирует файл в память и модифицирует только память, а
при уничтожении данные записываются в файл целиком. Путь к файлу определяет
свойство FileName. Файлы формата CDS можно найти в папке program files\Common
Files\Borland Shared\Data. Давайте сначала откроем один из них. Скопируем один
из них в папку c:\data .
Кидаем на форму 4
компонента
1. TClientDataSet
2. TDataSource
3. TDBGrid
4. TDBNavigator
В результате :
1. DataSource1
2. ClientDataSet1
3. DBGrid1
4. DBNavigator1
Настраиваем их свойства так чтобы получилось
примерно так:
DBNavigator1.DataSource = DataSource1
DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ClientDataSet1
ClientDataSet1.FileName = 'D:\111\www\customer.cds'
ClientDataSet1.Active = True (самое главное этого не
забыть :-))
И всё готово. Вы сразу у меня
спросите: "А как создать новую таблицу?".
Всё очень
просто даже не нужно НИКАКИХ дополнительных программ, только компонент
TClientDataSet и конечно Delphi.
1.
Создаём новый проект (можно даже его не сохранять) и добавляем на форму
компонент TClientDataSet.
2. Сначала определим
структуру таблицы. Для этого открываем свойство FieldDefs нашего компонента.
Открывается окно "Editing ClientDataSet1.FieldDefs" жмём "добавить новый", и
определяем свойства поля (тип, формат, размер и т.д.).
3. Теперь самое главное. Щёлкаем правой
кнопкой мыши на компоненте TClientDataSet и выбираем пункт CreateDataSet. Потом
ещё раз открываем контекстное меню и выбираем пункт "Save to binary MyBase file"
и сохраняем файл туда, куда нам надо.
Всё готово
теперь у нас есть файл CDS. Можно закрывать данный проект и создавать новый, так
как это было показано выше. Изменяете его, как хотите, добавляйте, удаляйте,
изменяйте короче как обычно. Как модифицировать файл программно и фильтровать и
индексировать записи, я вам расскажу позже.