Читаем S. D. F. полностью

S. D. F.

Если вам интересен SQL, и знаком Delphi, давайте поразвлекаемся программированием.

W Cat

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT18+

Пароль S. D. F.


* А, понял, примитивный пароль, кнопочки под левой рукой.

- Пароль не распознан. В доступе отказано…

* Ладно, вторая попытка, помнится есть расширение sdf – вроде это база данных?

- Уже теплее…

* Третья попытка, третья… сдаюсь.

- Вообще-то пароль SQL Delphi Firebird.

- Поставлена задача: написать программу для исполнения SQL запросов. Программа пишется в среде Delphi, а база будет функционировать под управлением СУДБ Firebird.

* Я знаю пароль, я вижу ориентир…

Есть ли у вас план…


- Давай поиграем с SQL.

* Поиграем? Ну, давай… А почему с SQL?

- Ну, у меня возникла очередная задача – упорядочивание моей библиотеки книг FB2.

* Но эта задача, сто лет как решена, есть масса программ для работы с библиотеками.

- Вот это - не надо… Чукча не пользователь, чукча – программист.

* Может быть, чукча, написал свой офис и заодно операционку?

- Конечно, заманчиво… и в истории есть примеры,… но пока давай займемся SQL.

* Ну, кое-что я помню, меня этому учили…

- Как я тебя понимаю, мы все учились понемногу и главное как-нибудь.

* Так, с помощью, какой базы мы будем писать базу, погоди, я запутался…

- Я понял, ты имеешь в виду СУДБ (систему управления базами данных). Теоретически это не имеет значения SQL и в Африке SQL. Но, я предлагаю Firebird.

* Законный вопрос, а почему именно эта птичка?

- Как говорит Википедия: Firebird (FirebirdSQL) — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах. Для меня большое значение имеет то, что она компактна и бесплатна (Firebird - является полностью свободным от лицензионных отчислений даже для коммерческого использования.).

* Есть ли у вас план, мистер Фикс?

- Есть ли у меня план? Да у меня целых три плана!

- Во-первых, написать программу для выполнения запросов SQL.

- Второе, проработать SQL с помощью книги Мартина Грубера «Понимание SQL»

- А потом – писать базу для FB2, но это уже за рамками этой книги.

* Ну вот. Так хорошо начиналось «Играть с SQL», а теперь опять, писать программу…

- Во-первых, отсылаю тебя к 5ой строке этого текста, а потом…

* Но есть же масса подобных программ…

- Есть. И одной из них я постоянно пользуюсь – это IBExpert. Отличная программа, и переплюнуть ее не берусь. Но есть неприятный момент, который меня постоянно раздражает каждый раз каждый новый вариант базы надо регистрировать,… да это всего несколько минут, но как я уже говорил, если выполнение рутинных действий (или ожидание) занимает более 10 секунд – для пользователя это непереносимо.

* А почему они так сделали, ведь не дураки там сидят?

- Это расплата за универсализм, повторюсь, отличная программа, но универсальная. Вспомни, как относились истинные меломаны к музыкальным комбайнам…

* Ну, а второй пункт, почему именно эта книга.

- Да надо, что-то выбрать, why not – книга то хорошая, и примеров там много.

* Хорошо, техническое задание написано - поехали!

Браузер


- Как я уже сказал, меня достала IBExpert, и года два назад я написал обозреватель баз данных формата Firebird, про себя я его называю браузер баз данных. Ну, назови БДБ или ДББ или ББД – только в печь не сажай.

- Начинай новый проект. Новая форма. Ну, давай, я тебе разжевывать все не буду, получи рисунок, и сам расставляй компоненты.

Рис 1. Главная форма

Рис 2. Форма TDataModule

- В этом модуле IBTransaction1 должна быть привязана к  IBDatabase1 и соответственно IBSQL1 привязывается к IBTransaction1 и IBDatabase1.

* Как это «привязаны»? Что ты имеешь в виду.

- Я имею в виду, что не буду по-шагово все разжевывать, давай-ка поработай сам, понять все не трудно… (я настаиваю на мысли – если дать готовые рецепты – учащийся ничего не запомнит, да, сейчас он позлится, «его заставили потрудится» - и эта эмоция запишет в память нужные знания)

Первая задача: создать новую базу данных.


Рис 2.

010 procedure TFMain.NewDB1Click(Sender: TObject);

020 var

030 fn : string;

040 begin

050 fn := InputBox('File Name',' Введите имя файла новой базы данных','');

060    if fn = '' then exit;

070    if UpperCase(ExtractFileExt(fn)) <> '.FDB'

080       then fn := fn + '.FDB';

090      with DataM do

100      begin

110       IBDatabase1.Params.Clear;

120       IBDatabase1.Params.Add('USER SYSDBA');

130       IBDatabase1.Params.Add('PASSWORD masterkey');

140       IBDatabase1.Params.Add('PAGE_SIZE 4096');

150       IBDatabase1.DatabaseName:= fn;

160       IBDatabase1.SQLDialect := 3;

170       IBDatabase1.CreateDatabase;

180       IBDatabase1.Connected:=True;

190       IBTransaction1.Active:=True;      

200     end;

210 end;

- В 50 строке запрашивается имя для файла новой базы данных, если мы не ответим, то в 60 строке выход из процедуры.

- В 70 строке проверяется, ввели ли мы расширение в имени файла, и если мы ленивы, то 80 строка таковое расширение добавляет.

Перейти на страницу:

Похожие книги

3ds Max 2008
3ds Max 2008

Одни уверены, что нет лучшего способа обучения 3ds Мах, чем прочитать хорошую книгу. Другие склоняются к тому, что эффективнее учиться у преподавателя, который показывает, что и как нужно делать. Данное издание объединяет оба подхода. Его цель – сделать освоение 3ds Мах 2008 максимально быстрым и результативным. Часто после изучения книги у читателя возникают вопросы, почему не получился тот или иной пример. Видеокурс – это гарантия, что такие вопросы не возникнут: ведь автор не только рассказывает, но и показывает, как нужно работать в 3ds Мах.В отличие от большинства интерактивных курсов, где работа в 3ds Мах иллюстрируется на кубиках-шариках, данный видеокурс полностью практический. Все приемы работы с инструментами 3ds Мах 2008 показаны на конкретных примерах, благодаря чему после просмотра курса читатель сможет самостоятельно выполнять даже сложные проекты.

Владимир Антонович Верстак , Владимир Верстак

Программирование, программы, базы данных / Программное обеспечение / Книги по IT
Фундаментальные алгоритмы и структуры данных в Delphi
Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет СЃРѕР±РѕР№ уникальное учебное и справочное РїРѕСЃРѕР±ие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий DelphiВ».Р' книге РїРѕРґСЂРѕР±но рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Р

Джулиан М. Бакнелл

Программирование, программы, базы данных