Дружим Delphi и SQLite. Глава третья: запись данных в БД.
Проект у нас создан. Объект готов. Приступим. Для начала создадим базу данных:
Код:
sqldb := TSQLiteDatabase.Create('base.db');
У функции всего один параметр - файл базы данных.
Не забудьте в конце программы (допустим в FormDestroy) освободить память.
Дальше создадим в нашей пока что пустой базе таблицу с тремя столбцами. Первый ID - автоинкрементный счетчик, второй - TEXTDB - строка, третий BLOBDB - поле типа blob (оно нужно для хранения файлов, звуков, картинок и др.).
Код:
sqldb.ExecSQL('CREATE TABLE DemoTable (ID INTEGER PRIMARY KEY, TEXTDB TEXT, BLOBDB BLOB)');
Если до этого в нашей базе уже присутствовала таблица с таким именем - то это вызовет ошибку. Чтобы этого не случилось, добавляем проверку:
Код:
if not sqldb.TableExists(' DemoTable') then
sqldb.ExecSQL('CREATE TABLE DemoTable (ID INTEGER PRIMARY KEY, TEXTDB TEXT, BLOBDB BLOB)');
Теперь все готово для добавления данных в нашу таблицу. Сначала заполним поле TEXTDB.
Код:
sqldb.ExecSQL('insert into DemoTable (TEXTDB) values("Наша первая запись")');
С добавлением файлов все гораздо сложнее. Рассмотрим следующий пример:
Код:
VAR f:TfileStream;
begin
f:= Tfilestream.Create('filename.bmp',fmopenread);
sqldb.UpdateBlob('UPDATE DemoTable SET BLOBDB = ? WHERE TEXTDB = "Наша первая запись" ',f);
f.Free;
end;
Здесь мы добавляем в запись поток, который и содержит файл.
Продолжение следует…
В следующей главе мы рассмотрим чтение данных из БД.
Xann.ru © 2009