Как работать с программой лазарус

Как видно из заголовка в данной статье пойдет разговор о работе с базами данных при помощи Ide Lazarus. Базы данных занимают важную роль в современном мире, их используют для создания большинства сайтов, информационных систем, различных программ.

В мире насчитывается огромное количество СУБД (Система управления базами данных), как коммерческих MsSql, Orcle, Interbase так и бесплатных вроде MySQl, PostgreSQL, Firebird, Sqlite. Lazarus же позволяет работать с большинством из них, для этого в среду можно установить компоненты для работы с соответствующими СУБД. Мы же рассмотрим общие способы работы с базами данных.

В основе большинства баз данных лежит язык SQL ( язык структурированных запросов ) , который позволяет получать о обрабатывать наборы данных. По поводу синтаксиса данного языка можно почитать на википедии либо на соответствующих форумах. Мы же будет рассматривать непосредственную работу с данными.

Для начинающих работать в Lazarus в качестве первого опыта вполне подойдет стандартный набор компонентов с вкладки SQLdb, данная вкладка содержит набор для работы с различными СУБД.

Урок 2 Створення першої програми в Lazarus

Состав вкладки SQLdb.

TSQLQuery Компонент для получения и изменения данных
TSQLTransaction Компонент для работы с транзакциями
TSQLScript Компонент для работы с большим количеством Sql кода
TSQLConnector Компонент для установления подключения к различным базам данных
TMSSQLConnection Компонент для подключения к СУБД MSSql (Microsoft SQL Server)
TSybaseConnection Компонент для подключения к СУБД Sybase (Sybase SQL Server)
TPQConnection Компонент для подключения к СУБД PostgreSQL
TPQTEventMonitor Компонент для взаимодействия с событиями в PostgreSQL
TOracleConnection Компонент для работы с СУБД Oracle
TODBCConnection Компонент для доступа к данными посредством драйверов ODBC
TMySQL40Connection Компонент для подключения к СУБД MySql версии 4.0
TMySQL41Connection Компонент для подключения к СУБД MySql версии 4.1
TMySQL50Connection Компонент для подключения к СУБД MySql версии 5.0
TMySQL51Connection Компонент для подключения к СУБД MySql версии 5.1
TMySQL55Connection Компонент для подключения к СУБД MySql версии 5.5
TMySQL56Connection Компонент для подключения к СУБД MySql версии 5.6
TSQLite3Connection Компонент для подключения к СУБД SQLite
TIBConnection Компонент для подключения к СУБД Firebird, Interbase
TFBAdmin Компонент для управления сервером Firebird
TFBEventMonitor Компонент для работы с событиями Firebird, Interbase
TSQLDBLibraryLoader Компонент для загрузки библиотеки доступа к данным

Уроки программирования в Lazarus. Урок №1. Обзор среды программирования, типов проектов в Lazarus

Так же для работы потребуется компонент TDataSource с вкладки Data Access, он является прослойкой между компонентами для доступа к данным и компонентами для отображения данных.

Доступ к данным.

Для подключения к какой либо СУБД на форму или датамодуль следует разместить требуемый компонент. Все зависит от требуемой СУБД. Я выбрал SQLite и соответственно добавил на форму TSQLite3Connection. Он позволит настроить подключение к требуемой базе данных. Так же следует добавить на форму компонент TSQLTransaction. Он обеспечивает целостность работы с данными.

Читайте также:
Ammyy admin это программа

О нем будет позже более подробнее.

Поскольку SQLite это локальная СУБД, то не требуется указывать такие параметры соединения как сервер, порт, пользователь, пароль, достаточно указать только путь к файлу базы и кодировку для работы, а также указать компонент для транзакции.

Сделать это можно примерно так.

procedure TForm1.Button1Click(Sender: TObject); begin SQLite3Connection1.DatabaseName := ‘c:testtest.db3’; // указывает путь к базе SQLite3Connection1.CharSet := ‘UTF8’; // указываем рабочую кодировку SQLite3Connection1.Transaction := SQLTransaction1; // указываем менеджер транзакций try // пробуем подключится к базе SQLite3Connection1.Open; SQLTransaction1.Active := True; except // если не удалось то выводим сообщение о ошибке ShowMessage(‘Ошибка подключения к базе!’); end; end;

Для того что бы программа заработала необходимо в папку с проектом поместить библиотеку sqlite3.dll, скачать последнюю версию которой можно тут. Для остальных СУБД тоже потребуются соответствующие библиотеки.

Что бы получить данные из базы на форму помещается компонент SQLQuery1, у него в качестве database указывается компонент SQLite3Connection1, а в качестве параметра transaction компонент SQLTransaction1.

Затем вписать в свойство SQL соответствующий запрос для выборки данных и выполнить процедуру Open. Если требуется добавить изменить или удалить данные то следует сделать ExecSQL.

procedure TForm1.Button2Click(Sender: TObject); begin SQLQuery1.Close; SQLQuery1.SQL.Text:=’select * from table’; SQLQuery1.Open; end;

После этого мы получим набор данных, если точнее таблицу. Для работы с ней компонент TSQLQuery содержит базовый набор функций и свойств.

Для навигации по набору данных используются следующие методы.

First Перейти на самую первую запись
Last Перейти на самую последнюю запись
Prior Перейти на запись назад
Next Перейти на запись вперед

Данные методы позволяют передвигаться по строкам таблицы.

Допусти нам надо пройтись по всем строкам таблицы и скопировать определенное значение, самый простой способ будет таким.

SQLQuery1.Open; // открываем данные SQLQuery1.First; // становимся на первую запись while not SQLQuery1.EOF do // цикл пока не конец набора данных begin // обрабатываем данные SQLQuery1.Next; // переходим на следующую запись end; SQLQuery1.Close; // закрываем данные

Так же для навигации по данным можно использовать визуальный компонент TDBNavigator.

Для отображения данных из базы используются компоненты из вкладки Data Controls, они созданы на базе обычных визуальных компонентов, но предназначены для отображения данных различных типов.

Что бы отобразить полученные данные на форму размещается компонент DataSource1 и визуальный компонент DBGrid1. У компонента DataSource1 свойству DataSet присваивается компонент SQLQuery1, а у компонента DBGrid1 выставляется свойство DataSource равным DataSource1. Теперь если сделать SQLQuery1.Open то в таблице отобразятся данные из базы.

Читайте также:
Управляющая конструкция программы это

Добавление данных

Добавлять данные в таблицу можно двумя способами. Один через открытый набор данных. Второй через выполнение специального sql запроса INSERT. Рассмотрим оба способа.

Добавление данных через открытый набор данных.

Для манипулирования с данными используются следующие команды.

Append Открывает процедуру добавления записи в конец набора данных
Insert Открывает процедуру добавления записи в текущее место набора данных
Edit Открывает процедуру редактирование текущей записи
Post Записывает данные
Delete Удаляет выбранную запись
Cancel Отменяет процедуру работы с данными
Refresh Обновляет набор данных

Эти команды использует большинство компонентов для работы с данными.

Пример добавления новой записи через набор данных.

procedure TForm1.Button3Click(Sender: TObject); begin SQLQuery1.Append; // открываем процедуру добавления данных SQLQuery1.Fields.FieldByName(‘pre’).AsString:=’00’; // присваиваем записи текстовое значение SQLQuery1.Fields.FieldByName(‘code’).AsString:=’000′; Sqlquery1.Post; // записываем данные sqlquery1.ApplyUpdates;// отправляем изменения в базу SQLTransaction1.Commit; // подтверждаем изменения в базе end;

Может показаться что слишком много команд надо выполнить что бы данные занести в базу. Но это необходимо выполнять только для данных компонентов, есть более человеческие компоненты, где хватает только одного Post.

Пример добавления данных через sql запрос.

procedure TForm1.Button4Click(Sender: TObject); begin SQLQuery1.Close; // выключаем компонент SQLQuery1.SQL.Text := ‘insert into usl(pre,code) values(:p,:u);’; // добавляем sql запрос для добавления данных SQLQuery1.ParamByName(‘p’).AsString := ’00’;// присваиваем записи текстовое значение SQLQuery1.ParamByName(‘u’).AsString := ‘111’; SQLQuery1.ExecSQL; // выполняем запрос SQLTransaction1.Commit; //подтверждаем изменения в базе end;

Как видите тут ничего сложного. Для добавления больших объемов данных лучше использовать второй способ. Поскольку первый способ после добавления записи вызывает обновление списка данных, что будет приводить к постепенному замедлению добавления данных.

Изменение данных.

Изменить данные в базе можно несколькими способами. Рассмотрим два способа изменения данных при помощи компонентов Sqldb.

Первый способ будет через открытый набор данных.

procedure TForm1.Button5Click(Sender: TObject); begin SQLQuery1.edit; // открываем процедуру добавления данных SQLQuery1.Fields.FieldByName(‘pre’).AsString := ’00’; // присваиваем записи текстовое значение SQLQuery1.Fields.FieldByName(‘code’).AsString := ‘000’; Sqlquery1.Post; // записываем данные sqlquery1.ApplyUpdates;// отправляем изменения в базу SQLTransaction1.Commit; // подтверждаем изменения в базе end;

Достаточно встать на требуемую запись и открыть её через процедуру Edit

procedure TForm1.Button5Click(Sender: TObject); begin SQLQuery1.Edit; // открываем процедуру добавления данных SQLQuery1.Fields.FieldByName(‘pre’).AsString := ’00’; // присваиваем записи текстовое значение SQLQuery1.Fields.FieldByName(‘code’).AsString := ‘000’; Sqlquery1.Post; // записываем данные sqlquery1.ApplyUpdates;// отправляем изменения в базу SQLTransaction1.Commit; // подтверждаем изменения в базе end;

Так же данные можно редактировать через sql запрос UPDATE

procedure TForm1.Button6Click(Sender: TObject); begin SQLQuery1.Close; // выключаем компонент SQLQuery1.SQL.Text := ‘update table1 set name =:nm, adres=:ad where // добавляем sql запрос для добавления данных SQLQuery1.ParamByName(‘nm’).AsString := ‘Иванов И.И.’;// присваиваем записи текстовое значение SQLQuery1.ParamByName(‘ad’).AsString := ‘Москва, Кучерявая 6’; SQLQuery1.ParamByName(‘id’).AsString := ‘2016’; SQLQuery1.ExecSQL; // выполняем запрос SQLTransaction1.Commit; //подтверждаем изменения в базе end;

Читайте также:
Файл презентации созданный в программе Microsoft powerpoint имеет расширение

Удаление данных

Удалить данные из базы не сложно, главное удалить именно те данные, а не те которые были нужны. Зачастую от этого спасают транзакции и бекапы. Но не всегда. Рассмотрим так же два способа удаления данных.

Удаление из набора данных. Просто становимся на требуемую запись и выполняем следующий код.

procedure TForm1.Button7Click(Sender: TObject); begin SQLQuery1.Delete; // удаляем запись end;

Также удалить данные можно через sql запрос DELETE, делается это следующим образом.

procedure TForm1.Button8Click(Sender: TObject); begin SQLQuery1.Close; // закрываем компонент SQLQuery1.SQL.Text:=’delete from table1 where // запрос на удаление данных SQLQuery1.ParamByName(‘id’).AsString:=’2015′; //указываем требуемый параметр SQLQuery1.ExecSQL; // выполняем запрос SQLTransaction1.Commit; //подтверждаем изменения в базе end;

При удаление данных через запрос нужно точно знать какие данные удалять. Если сделать так.

DELETE from table1

То удаляться все данные из таблицы table1. Поэтому требуется точно указывать какие данные удалять.

Поиск данных.

Поиск данные является одной из необходимых вещей при работе с базами данных. Существует несколько способов осуществления данной операции. Не будем рассматривать все. Остановимся на самых простых.

Первым способом будет поиск в выбранном наборе данных. Он осуществляется по конкретному столбцу или столбцам данных. Выглядит это так.

SQLQuery1.Locate(‘name’,’нужное значение’,[loCaseInsensitive, loPartialKey]); //’name’ — название нужного нам столбца //’нужное значение’ — то что ищем //loCaseInsensitive — игнорируем регистр записи //loPartialKey — частичное совпадение

При использование данной записи маркер выбранной записи переместиться на найденную запись, если искомых данных не будет обнаружено то маркер переместиться на последнюю запись.

Так же можно сделать выборку данных с условием отбора SELECT . WHERE делается это так.

procedure TForm1.Button10Click(Sender: TObject); begin SQLQuery1.Close;// закрываем датасет SQLQuery1.SQL.Text := ‘select * from table1 where name = :nm’; // добавляем наш запрос SQLQuery1.ParamByName(‘nm’).AsString:=’иван’;// присваиваем требуемый параметр SQLQuery1.Open;// открываем запрос end;

Урок 1. Система программирования LAZARUS

Среда программирования Lazarus в школьном курсе информатики используется сравнительно недавно.

Уроки предназначены для учащихся 10 классов и всех тех, кто хочет самостоятельно освоить Lazarus.

В этом уроке дается краткая справочная информация о среде программирования Lazarus, рассказывается об основных инструментах среды разработки программ, определяются основные этапы создания приложений.

В заключении вы можете посмотреть видеоурок, из которого узнаете о различиях проектов Lazarus и Delphi.

Lazarus

Скачать последнюю версию Lazarus вы можете по ссылке —//sourceforge.net/projects/lazarus/files/

Краткая справочная информация

Lazarus — среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичная Delphi.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru