|
Вопрос # 332/ вопрос открыт / |
|
Когдая загружаю свою прогу на винде на которой не установлен Delphi и нажимаю на кнопку обработчик события:
Datamodule1.Table1.Active:=False;
Datamodule1.Table1.DatabaseName:= '';
Datamodule1.Table1.TableName:= MainForm.DBComboBox1.Text;
Datamodule1.Table1.TableType:= ttDbase;
Datamodule1.Table1.Active:=True;
with Datamodule1.Table1.FieldDefs do
begin
While not Datamodule1.Table1.Eof do
Begin
if Datamodule1.Table1.FieldByName('Date').AsString=DateToStr(MainForm.DateTimePicker1.Date) Then
MessageDlg('На этот день расписание уже составлено!', MtError,[MBOK, mbCANCEL],0);
Datamodule1.Table1.Next;
end;
Datamodule1.Table1.Edit;
Datamodule1.Table1.Insert;
Datamodule1.Table1.FieldByName('Date').AsString:=DateToStr(MainForm.DateTimePicker1.Date);
Datamodule1.Table1.FieldByName('Lesson1').AsString:=DbLookupCombobox1.Text;
Datamodule1.Table1.FieldByName('Lesson2').AsString:=DbLookupCombobox4.Text;
Datamodule1.Table1.FieldByName('Lesson3').AsString:=DbLookupCombobox7.Text;
Datamodule1.Table1.FieldByName('Lesson4').AsString:=DbLookupCombobox10.Text;
Datamodule1.Table1.FieldByName('Lesson5').AsString:=DbLookupCombobox13.Text;
Datamodule1.Table1.FieldByName('Teacher1').AsString:=DbLookupCombobox2.Text;
Datamodule1.Table1.FieldByName('Teacher2').AsString:=DbLookupCombobox5.Text;
Datamodule1.Table1.FieldByName('Teacher3').AsString:=DbLookupCombobox8.Text;
Datamodule1.Table1.FieldByName('Teacher4').AsString:=DbLookupCombobox11.Text;
Datamodule1.Table1.FieldByName('Teacher5').AsString:=DbLookupCombobox14.Text;
Datamodule1.Table1.Post;
MessageDlg('Сохранено!', MtInformation,[MBOK],0);
т.е. создает таблицу БД Access то уменя выскакивает ошибка:
An error occurred while attempting to initialize the Borland Database Engine (error $2108)
Такая же бадяга если хочу внести в таблицу какието данные.
Что мне делать. Помогите плиз. Просьба: Я еще познаю Азы Delphi. Не могли бы вы обяснить по подробней. Спасибо заранее.
А, еще как мне сделать экзешник минимальным.
 |
Вопрос задал: mAx (статус: Посетитель)
Вопрос отправлен: 21 февраля 2007, 23:17
Состояние вопроса: открыт, ответов: 3.
|
Ответ #1. Отвечает эксперт: Вадим К
Ну не знаю, как ещё отвечать на этот вопрос, который изучен вдоль и впоперек. Дело в том, что когда то (1992-1997гг.) Борланд придумала хорошую технологию доступа к данных - BDE. Хорошую на то время. Но на данный момент эта технология НЕ РАЗВИВАЕТСЯ. Многие, старые да и новые книги по делфи почему то упорно игнорирую этот факт (мож им просто лень переписывать?) и толкают BDE как передовую технологию.
Что же делать? Есть два варианта. Найти где небудь дистрибутив BDE - когда то на сайте борланда был. Есть ли сейчас - не знаю.
Вариант два, более правильный. Да и переделок будет мало - ADO. Судя с вашего кода, вам прийдётся добавить на форму ADOConnection, в котором настоить с помощью мастера доступ к базе (ConnectionString). Рекомендую сразу путь с прямого заменить на относительный.
Также заменить компоненты TTable -> TADOTable
TQuery --> TADOQuery. И с помощью свойства Connection привязать их к ADOConnection. Если вы не особо извращались в коде - заработает с пол пинка.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 22 февраля 2007, 00:02
Оценка за ответ: 4
|
Ответ #2. Отвечает эксперт: Матвеев Игорь Владимирович
Здравствуйте, Рожков Максим Сергеевич!
Дистрибутив BDE можно достать из программ создания установки, InstallShield или WiseInstall - там есть галочка специальная. Размер дистрибудива Вашей программы "потяжелеет" мегабайт на пять. Также в InstallShield можно добавлять псевдонимы БД.
Но, конечно, лучше сразу переходить на более передовые технологии.
Ответ #3. Отвечает эксперт: Alex Van Glukhman
Здравствуйте, Рожков Максим Сергеевич!
Всё правильно! На компе клиента просто не установлена BDE. Надо либо скачать дистрибутив BDE либо настроить подключку без использования BDE
Вот пример написания без использования BDE
http://program.rin.ru/razdel/html/1242.html
Удачи
 |
Ответ отправил: Alex Van Glukhman (статус: 7-ой класс)
Время отправки: 22 февраля 2007, 08:20
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|