S. D. F. [W Cat] (fb2) читать постранично
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- . . .
- последняя (8) »
Пароль 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 говорится, что приведенные пароль и пользователь, указанны для образца, а использовать надлежит
- 1
- 2
- 3
- . . .
- последняя (8) »
Последние комментарии
6 часов 12 минут назад
6 часов 32 минут назад
6 часов 57 минут назад
7 часов 1 минута назад
16 часов 32 минут назад
16 часов 35 минут назад