Итак, базы данных с использованием компонента TClientDataSet.
После того, как мы определились с полями таблицы, создадим ее.
Создаем новый проект, на форму бросаем TClientDataSet из вкладки Data Access, нажимаем на компоненте правкой кнопкой мыши и выбираем пункт Fields Editor.
Опять щелкаем правой кнопкой мыши в появившемся редакторе полей, и выбираем пункт "New Field". Задаем параметры создаваемого поля: его имя (Name), выбираем тип поля (Type) и, при необходимости, размер поля.
После создания необходимых полей опять нажимаем на компоненте TClientDataSet правую кнопку мыши и выбираем пункт Create Dataset, а затем Save to binary MyBase file. Сохраняем таблицу под нужным именем. При необходимости создаем дополнительные таблицы таким же образом.
Теперь перейдем к использованию созданных таблиц. Первым делом в секцию
uses разрабатываемого приложения
обязательно дописываем MidasLib - это позволит использовать приложение безо всяких сторонних библиотек (в противном случаем нам пришлось бы распространять приложение с библиотекой Midas.dll).
Ну а далее бросаем на форму TDataSource, TClientDataSet, связываем их. В свойствах TClientDataSet указываем путь к созданной таблице (FileName), и устанавливаем свойство Active в True. Готово.
Работать с записями можно точно также, как при использовании компонента TTable; например, для отображения записей можно подключить TDBGrid. Я делал небольшой телефонный справочник для агентства недвижимости, ниже простейший пример по добавлению записи (в моем cлучае запись добавляется из файла Excel):
cds.Append;
cds.FieldByName('FIO').AsString:=String(Sheet.Cell s[i,1]);
cds.FieldByName('Phone').AsString:=Copy(s,1,Pos(', ',s)-1);
cds.Edit;
cds.Post;
Для поиска данных можно использовать процедуру Locate:
CDS.Locate('FIO;Address;Phone',VarArrayOf(['Васечкин','Ленинская','67-55-55']),[]);
В заключение хочу сказать о некоторых преимуществах данного метода создания и использования баз данных:
- очень компактный размер. В моем случае таблица с тремя полями и кол-вом записей 2775 весит 88 Кб.
- быстрая скорость работы, за счет того, что операции производятся в ОЗУ.
- нет необходимости таскать с приложением BDE.