Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2009, 09:22   #1
Napste®
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 27
По умолчанию Создание бд без регистрации

Пожайлуста помогите. Необходимо создать бд с таблицами Paradox не регистрирую бд в BDE Administrator. Как это сделать?
Napste® вне форума Ответить с цитированием
Старый 26.04.2009, 10:24   #2
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Вот один из способов как можно обойтись без псевдонимов и быть не зависимым от перестройки файловой системы.
В обработчик события OnFormCreate нужно поместить следующий код:

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  try
    Table1.Active := False;
    Table1.DatabaseName := (ExtractFilePath(Application.ExeName) + 'data');
    Table1.TableName := 'COUNTRY.DB';
    Table1.Active := True;
  except
    on EDatabaseError do
    begin
      Application.MessageBox('Невозможно открыть базу данных.', 'Ошибка', MB_ICONERROR);
      Halt;
    end;
  end;
end;
Конструкция ExtractFilePath(Application->ExeName) возвращает путь к пусковому файлу приложения, к этому пути прибавляется папка "data" - здесь нужно хранить файлы баз данных (не нравится "data" дайте другое имя). COUNTRY.DB - имя конкретной базы данных (впишите ваше). Строка Table1->Active = true; - открытие набора данных.
Дальше идет вылавливание исключений если пошло что то не так.
Подготовленное таким образом приложение запускается на любой машине без необходимости инсталляции BDE, устойчив и нечувствителен к смене положения в файловой системе /переинсталляции системы/порчи реестра/влиянии на другие BDE-приложения.
Gorychev вне форума Ответить с цитированием
Старый 26.04.2009, 10:50   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А если несколько таблиц, то надо для каждой таблицы помещать такой обработчик события?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.04.2009, 15:52   #4
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
А если несколько таблиц, то надо для каждой таблицы помещать такой обработчик события?
Да, для каждой таблицы.
Gorychev вне форума Ответить с цитированием
Старый 26.04.2009, 16:12   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А в моем приложении две формы и БД находятся на второй форме. Значит мне надо написать эти обработчики только в событии OnCreate второй формы? Основная у меня первая форма.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.04.2009, 10:51   #6
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Основная идея, это использовать приведенный выше код до начала использования Table. Задаем директорию в которой находится база + присваивается имя файла в котором база находится. А потом можно пользоваться Table в обычном порядке.
В вашем случае лучше вставить этот код в обработчик события OnCreate второй формы.
Gorychev вне форума Ответить с цитированием
Старый 27.04.2009, 11:49   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
artemavd
Смотря что у тебя за ситуация, а смысл поста в Горичева, в том чтоб указать путь к БД напрямую.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2009, 12:44   #8
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,537
По умолчанию

Цитата:
Горичева
Gorychev - Горячев
Gorychev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт регистрации Sounds PHP 7 09.03.2009 23:17
Реализация регистрации Sanek777 Безопасность, Шифрование 1 08.11.2008 17:46
Форма регистрации Esenin Фриланс 8 31.05.2008 18:16
запрет повторной регистрации bllem PHP 12 27.11.2006 10:24