Чтение онлайн

на главную

Жанры

Cat W

Шрифт:

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

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

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

* А причем здесь коты?

– Ну, у себя ты введешь свои пароли.

* О, у себя, я как всегда напишу…

– Стоп, стоп, стоп! И ни другу, не врагу, никогда не …

* Ладно, я понял.

– * -

* Шеф, усе пропало!!! т.е. не получилось. Появилось угрожающее окно Debugger Exception Notification, со страшной надписью Project Project1.exe raised exception class EIBInterBaseError with message 'unavailable database'. Process stopped. Use Step or Run to continue..

Спокойствие, только спокойствие... бывало и у меня такое.

– Для комфортной работы Firebird хочет иметь доступ к своим dll а именно:

gds32.dll

icudt30.dll

icuuc30.dll

и желательно:

firebird.msg

Конечно, лучше всего поместить эту компанию, в папочку WINDOWS\system или WINDOWS\system32, в этом случае, в дальнейшем ни о чем не надо беспокоится, НО если тебе надо показать твою гениальную программу заказчику, (а на его месте я бы не разрешил лазить тебе в системные папки) лучше держать эту свору в демонстрационной папке.

– * -

* У меня проблемы стал копировать dll, а система и говорит файл gds32.dll мол у меня есть только постарее да поменьше, можно ли заменить, ну я слов то не померил, и системе той поверил. А эта Редиска и говорит что она занята, т.е. файл занят.

– Ну, занят файл, значит, занят, мы то ящик покупаем не для собственного удовольствия, а для удовлетворения запросов системы, ну и ладно…

– Ибо сказано: Если у тебя есть фонтан – заткни его, и компьютеру надо отдохнуть…

– Все выключай, и иди погуляй.

«Продолжение следует»

ББД продолжение

– Извини, выключать комп было совершенно не нужно. Достаточно было закрыть Delphi, именно он занимал файл.

* Ладно, проехали. У меня тут как раз возник вопрос. Все сработало, файл базы создался, но на фейсе программы ничего не изменилось.

– Да, вот тут, ты прав. Недоработка. Но, я тоже обдумал… надо ввести изменения.

165 try

170 IBDatabase1.CreateDatabase;

180 IBDatabase1.Connected:=True;

190 IBTransaction1.Active:=True;

192 except

194 ShowMessage('Не нахожу dll');

195 exit;

196 end; // try 

187 FMain.Caption := fn;

198 ShowTables;

200 end;

– Во-первых давай позаботимся о том, чтобы исключительное положение, которое у нас возникло, было бы хоть как ни будь обработано ( строки 165, 192-196).

– Строка 198 выдаст название новой базы в заголовке программы и сообщит что таблиц, в этой базе пока нет.

procedure ShowTables;

begin

 with FMain.ListBox1 do

begin

Clear;

Items.Add('Empty');]

end;

end;

Сразу скажу, что процедуру ShowTables мы очень скоро будем существенно менять, посему не буду нумеровать строки…

– * -

* Все сработало, но…

– Да, хвалится пока еще нечем. Надо делать следующий шаг.

Задача: открыть существующую базу данных.

010 procedure TFMain.OpenDB1Click(Sender: TObject);

020 begin

030 with OpenDialog1 do

040 begin

050 Filter := 'DB|*.fdb';

060 DefaultExt := 'fdb';

070 if Execute then

080 with DataModule2 do

090 begin

100 IBDatabase1.DatabaseName:= FileName;

110 IBDatabase1.Params.Clear;

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

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

140 try

150 IBDatabase1.Connected:=True;

160 except

170 ShowMessage('Не могу работать!');

180 exit;

190 end; // try

200 IBTransaction1.Active:=True;

210 FMain.Caption := FileName;

220 ShowTables;

230 end; // DataModule2

240 end; // OpenDialog1

250 end;

– Открываем диалог загрузки файла – стр. 30

– Т.к. этот диалог будет использоваться и в других целях в строках 50, 60 уточняем, что сейчас будет речь идти о базе данных.

– Если в стр. 70 файл базы найден, вводим параметры базы строки 100-130 (обрати внимание пароль и пользователь должен быть тот же, что и при создании базы).

– Наученные опытом в строках 140-190 пытаемся соединится с базой. (обрати внимание на стр. 190 – желательно кончики программных блоков помечать – легче будет разбираться).

* А почему ты изменил 170 строку.

– Искл. состояние может возникнуть не только из-за dll, но и в случае если база будет не родная (не совпадает пароль и др.) т.е. это место надо переписать более тщательно, сделаем это позже.

* Нет ничего более постоянного …

– Согласен, давай изменим строку 160

160 except // в дальнейшем обработать 1. отсутствие dll. 2. несовпадение пароля 3. другие случаи

– Теперь пришла пора для вкусненького.

* Погоди, сбегаю за кетчупом.

– Боюсь, ни клаве ни монитору кетчуп не понравится.

– Открою тебе великую тайну:

– Когда мы создали пустую базу. База там уже есть.

* Я что-то подобное подозревал, файл то не очень маленький.

Поделиться:
Популярные книги

Приручитель женщин-монстров. Том 3

Дорничев Дмитрий
3. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 3

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Совок 9

Агарев Вадим
9. Совок
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Совок 9

Столичный доктор

Вязовский Алексей
1. Столичный доктор
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Столичный доктор

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Ваше Сиятельство 5

Моури Эрли
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Ваше Сиятельство 5

Удиви меня

Юнина Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Удиви меня

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Измена. За что ты так со мной

Дали Мила
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. За что ты так со мной

Неожиданный наследник

Яманов Александр
1. Царь Иоанн Кровавый
Приключения:
исторические приключения
5.00
рейтинг книги
Неожиданный наследник

Снегурка для опера Морозова

Бигси Анна
4. Опасная работа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Снегурка для опера Морозова

На границе империй. Том 7. Часть 3

INDIGO
9. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.40
рейтинг книги
На границе империй. Том 7. Часть 3

Идущий в тени 5

Амврелий Марк
5. Идущий в тени
Фантастика:
фэнтези
рпг
5.50
рейтинг книги
Идущий в тени 5