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 ...


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

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


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

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


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

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


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

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


Ехали цыгане

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


Соната лунной принцессы

Соединенные Штаты, Китай, Великобритания, Россия, Европейский Союз. Больше этих некогда влиятельных сверхдержав не найти ни на одной карте мира. Много лет назад само существование жизни на планете было поставлено под угрозу. Города исчезали один за другим, становились историей, а цивилизованный мир таял. Так продолжалось, пока ученые не создали оружие, способное остановить нашествие врагов из параллельной вселенной, прозванных пожирателями. С тех пор на планете уцелели только три города.


Каникулы

Каждая девочка мечтает побыть принцессой, а принцесса мечтает побыть простой девочкой да еще и накануне свадьбы. Тем более, что принцесса наша личность разносторонне развитая, очень любознательная и жизнерадостная. А ее замуж!


Высшая академия магии

Я с детства не верила в сказки и книги о магии. Всё изменилось, когда в один солнечный день попала в другой мир, где эта магия имеется. Хорошо еще, что оказалась не в дремучем лесу, а в Высшей академии магии, где есть ректор, который обязательно предложит поучиться… Почему бы не попробовать. Что дальше? Заведу друзей! Найду врага… или может это все-таки любовь?


Психокинетики-2

Продолжение супергеройского романа «Психокинетики». Враг повержен, но враг — ложный. Теперь героям предстоит разобраться в хитросплетениях глобального заговора, частью которого они стали, и в себе самих. Очередные опасности. Новые способности. И одна угроза на всех.


Они среди нас

Потомки библейских исполинов расселились по земле и живут среди нас. Постепенно, создавая семьи с обычными людьми, они измельчали до человеческих размеров. Борьба полов в семействах исполинов за право властвовать на планете не прекращалась и в двадцать первом веке. В их отношения вмешались силы небесные, пригрозив запустить программу перерождения человека в бесполое существо, способное рождаться на свет с эмбрионом своего единственного будущего ребёнка внутри. Когда и эта угроза не вразумила их, то силы небесные, под предлогом надвигающейся глобальной катастрофы на Земле, решили переселить их на антиземлю — планету Антихтон, движущуюся по одной орбите с Землёй, по другую сторону Солнца.


Лисьи повадки в прошлом?

Что бы стало, если роман «Лисья тропа» пошел по другому сценарию? Не окончательный раскол между невольницей и эльфийским князем, а их единство? Такое невозможно в мире Фейри, где сила и магия затмевают все остальное. Но в мире людей, смертных, совсем другие правила. И оказавшись на Земле по воле судьбы, превратившись в таких же смертных людей, Скайлер и Анкалион встречаются вновь… Для Скайлер прошло десять лет с тех пор, как она покинула мир Фейри. Как ей казалось, навсегда. Но прошлое отказывается так просто ее отпускать.