S. D. F.

S. D. F.

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

Жанры: Самиздат, сетевая литература, Программирование, Базы данных
Серии: -
Всего страниц: 8
ISBN: -
Год издания: Не установлен
Формат: Полный

S. D. F. читать онлайн бесплатно

Шрифт
Интервал

Пароль 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 строка таковое расширение добавляет.

- А вот это, важно! В строках 120 и 130 вводится имя пользователя и пароль. Во всех руководствах по Firebird говорится, что приведенные пароль и пользователь, указанны для образца, а использовать надлежит свои.

- Посему, меняем строки на:

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


Еще от автора W Cat
Задачник по программированию для школы

Задачи для школьника, должны быть веселы!На наших занятиях, запрещена фраза "мы это не проходили" - если это надо для решения задачи - "пройди", источников море, учитель подскажет.Не получается? Возможно, ты выбрал задачу не по силам, ничего - это тоже опыт, отложи, попробуй следующую. Мало решить задачу, придумай свою...Ученик должен уметь: (поставить задачу + решить задачу + учиться) * n ...


Система Диофанта

Если вы хотите поразить одноклассников молниеносным решением квадратных уравнений [КУ], давайте развлечемся.


Рекомендуем почитать
Вечный порт с именем Юность

Наполеон говорил, что нет лучше солдат, чем шестнадцатилетние: они не знают, что такое страх и смерть. Мальчишкам – героям этой книги – было семнадцать! Они прошли войну и остались живы, но и в мирное время остались верны своей данной в юности клятве: «Пусть будет вечно чистым наш океан!».


Планеры уходят в ночь

Вот что автор написал о своей книге: «Я попробовал написать о пилотах Саратовской военно-авиационной планерной школы воздушно-десантных войск. Пусть читатель не ищет в повествовании подлинных имён, но дух времени я попытался сохранить неприкосновенным и в основу положил действительные события».


Сборник песен КСП г Минска

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


Ехали цыгане

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


Бдыщь-мен и Ко

Обычно я обращаюсь к читателям в поэти­ческой форме. Но сейчас решила сделать ис­ключение, чтобы рассказать вам о книге, кото­рую вы держите в руках. Стихи в ней условно разделены на две части, названные Онлайн и Оффлайн. Электронные устройства стали частью на­шей жизни — мы ведем блоги, общаемся по скайпу, в социальных сетях, а факты и образы, выловленные в интернете, формируют нашу картину мира. Его границы раздвинуты, но за­ключены в голубой прямоугольник экрана. Герои первой части книги стали близки мне благодаря виртуальной реальности.


Еще раз с чувством

Иногда мгновение — это и есть вся жизнь. Сборник драбблов различных жанров по «Сумеречным охотникам». В основном по паре Магнус/Алек, иногда по Шамдарио и по другим пейрингам. Сборник будет постепенно пополняться.


Чёрное пришествие

Идея похалтурить на работе заканчивается для Серёги хуже, чем он мог представить, он оказывается внутри игры. И он бы не был сильно против, если бы это была какая-нибудь весёлая фэнтезийная рпгешка, но он он попадает в кривой выживач, лут в котором попадается раз в "полгода", а кругом ходят жуткие монстры, с которыми приходится сражаться чуть ли не голыми руками. Но Серого никто не спрашивает, где он хочет оказаться, и ему ничего не остаётся, кроме как попытаться выжить в этом новом мире.


Страшные Соломоновы острова

Авантюрный роман о "черных" копателях".


Академия Магии, или Всё по фен-шуй

Оказавшись одна, без денег, без перспектив, без шансов устроиться, Кира решает довериться слухам. Говорят, самое элитное высшее учебное заведение страны – Борская Академия Магии – принимает всех одарённых без исключения. Обучение бесплатно, поступившим полагается содержание. Что ещё нужно? Кира отдаёт последнюю наличность за билет. Осознание собственного безумства приходит уже в пути. У неё нет денег, нет нормального начального образования. Кира чувствует себя курицей, которая зачем-то лезет в сад райских птиц.


Русофобская затея «белорусизаторов»

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