Дружим Delphi и SQLite. Глава четвертая: чтение данных из БД.
Ну вот и подошло время для заключительной статьи по Delphi и SQLite. Сейчас мы научимся извлекать на свет из недр базы данных нужную нам информацию. Начнем как обычно с текстовых полей. Для начала нам потребуется еще одна переменная - ее можно сделать локальной, то есть объявить непосредственно в процедуре.
Идем дальше.
Код:
sltb := sldb.GetTable('SELECT TEXTDB, BLOBDB FROM DemoTable where ID=1');
Теперь получаем данные, в удобном нам виде:
Код:
TextString:=sltb.FieldAsString(0); // В переменную TextString заносим значение поля TEXTDB
С файлами, как обычно, чуть посложнее. Здесь как и в случае с записью необходимо применять потоки. Для примера выложу функцию для извлечения из базы картинки. Ей передаются два параметра: строка с sql запросом и хидер картинки в которую нужно загрузить изображение.
Код:
Procedure loadbitm(sql:string;image:Tobject);
VAR m:TmemoryStream;
begin
m:=Tmemorystream.Create;
if sldb.GetTable(sql).FieldAsString(0) <> '' then
begin
m:=sldb.GetTable(sql).FieldAsBlob(0);
m.Position:=0;
(image as Timage).Picture.Bitmap.LoadFromStream(m);
m.Free;
end;
end;
Вызываем так:
Код:
loadbitm('SELECT BLOBDB FROM DemoTable WHERE ID=1',Form1.image1);
Вот мы и научились работать с SQLite базой данных. На основе нее очень просто создавать приложения, тем более скорость работы у нее достаточно большая по сравнению с аналогами.
Если вы в чем то затрудняетесь или что-то не поняли - обращайтесь в асю: 44(ноль)5577(ноль)8
Xann.ru © 2009