Последние записи
- Получение картинки с веб-камеры
- Скопировать определённый кусок image
- Сделать printscreen экрана и сохранить
- Написать программу, считывает с клавиатуры определенное колличество цифр, а на экран выводит сумму наибольшей цифры
- Создать системную, невидимую, только для чтения папку
- Какой яп и ide выбрать для кроссплатформенного программирования?
- Скачать html страницу в memo с помощью indy
- Как разорвать adsl соединение с интернетом?
- Как отключить/включить сетевое соединение?
- Передать состояние CheckBox
13th
Апр
“Культура” работы с БД
Posted by Chas under Пост-обзор
Совет по работе с бд от Stilet.
Имею класс, в котором описаны поля, а так же имею список (а-ля массив) обьектов этого класса.
Далее:
- Открыл набор
- Создал экземпляр класса, вписал в него поля из БД
- В цикле перешел на следующую запись и повторил 2) пока не конец таблицы
- Закрыл набор, разорвал связь с базой
Все теперь у меня данные сидят в массиве обьектов.
Вот так это может выглядеть:
Это класс с полями
TAsm=class(TComponent)
Private
FFields:TStringList;
public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
end;
Это его наполнение
var ado:TADOQuery;i:integer;a:TAsm;
begin Result:=nil;
ado:=TADOQuery.Create(nil);
ado.ConnectionString:=ConnectString;
ado.SQL.Text:=’select * from GetModels()’;
ado.Open;
while not ado.Eof do begin
a:=TAsm.Create(self);
for i:=0 to ado.FieldCount-1 do
a.FFields.Add(ado.Fields.DisplayName+’=’+Trim(ado.Fields.AsString));
FAsms.Add(a);
ado.Next;
end;
ado.Close;ado.Free;
end;
Теперь в “массиве” FAsm у меня записи из базы.

