Тема: Delphi и sqlite
Показать сообщение отдельно

Последняя часть
  #4  
Старый 20.08.2009, 00:07
Acrid_gluk
Новичок
Регистрация: 18.08.2009
Сообщений: 11
Провел на форуме:
36783

Репутация: 8
Отправить сообщение для Acrid_gluk с помощью ICQ
По умолчанию Последняя часть

Дружим Delphi и SQLite. Глава четвертая: чтение данных из БД.

Ну вот и подошло время для заключительной статьи по Delphi и SQLite. Сейчас мы научимся извлекать на свет из недр базы данных нужную нам информацию. Начнем как обычно с текстовых полей. Для начала нам потребуется еще одна переменная - ее можно сделать локальной, то есть объявить непосредственно в процедуре.

Код:
sltb:TSQLiteTable;
Идем дальше.

Код:
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
 
Ответить с цитированием