![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vinnety |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.4.2003 Репутация: нет Всего: нет |
Написал програмку, которая работает со свой базой данных (тип Paradox). Скажите, как перенести этку програму на другой компьютер на котором не установлен Delphi ? Т.е. как сделать эту програмку "легко переносимой"? Или возможно нужно изменить тип базы данных ? |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Всё очень просто: используй компонента вкладки ADO (на всех современных компьтерах поддержка ADO есть!). ADOConnection - соединение с базой данных; ADOQuery - обычный Query; ADOTable - обычный Tabe и т. п.
План работы: Помести ADOConnection на форму, заполни ConnectionString, нажав на кнопочку. Помести DataShource и DBGrid, настрой их... Помести ADOQuery, к примеру, свойство Connection должно равняться ADOConnection1, DataSource - DataSource1. работай с ADOQuery, как с обычным. Для большей универсальности помести следующее:
Пример приведён для Access, то же самое будет и для Paradox, только с некоторыми изменениями (додумай сам). Если без ADO! Носи с собой BDEAdministrator и заполняй Alias, что тяжелее... |
|||
|
||||
| Vit |
|
||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
А при чём тут BDEAdministrator и заполнение Alias? Просто надо установить BDE (можно без BDEAdministratora), да Alias'ы можно вообще не использовать или устанавливать их правильно в самой программе.
При чём тут современные компьютеры? ADO, а точнее MDAC поставляется только с операционными системами: Win98 (в некоторых конфигурациях), WinME, 2000, XP. На более чем современных компьютерах с другими операционными системами ADO в стандартную поставку не входит.
Прежде чем рекомендовать, лучше бы сам попробовал! Я ведь наверняка могу сказать, что сам то ты не пробовал работать с Парадоксом через ADO, иначе бы не рекомендовал, так как реальный практический опыт работы говорит о том что простым "подумать" дело не обойдётся, это ж ведь для MS Access ADO доступ как родной, а для парадокса ADO реально использует полунедоделанный ODBC драйвер выпуска аж 1994 года! И проблем здесь будет намного больше чем простое переделывание Table->ADOTable. Собственно вот далеко неполный список проблем: 1) ADO, ODBC и DAO поддерживают только совместимость с Paradox до 5й версии включительно, для более поздних версий Paradox совместивость ограниченная, поэтому возможны самые разные варианты, от неправильной работы каких-либо типов полей, до частого corruption table и неиспользования каких-либо индексов при выполнении запросов. 2) Скорость работы ADO, ODBC и DAO с Парадокс примерно на 2 порядка ниже чем скорость работы через BDE 3) Используя ADO, ODBC или DAO невозможны многие низкоуровневые операции с таблицами, например такие как Repair 4) ADO не входит в поставку Windows 95/NT4 и некоторые версии Win98 и его всё равно прийдётся поставлять с программой, иначе она не будет работать на указанных операционках. Правильное решение: Поставлять BDE вместе с программой. Все основные программы, которые делают инсталляционные пакеты умеют работать с BDE, например в InstallShield при изготовлении инсталляционного пакета достаточно лишь поставить галочку напротив BDE и она будет установлена автоматически при установке Вашей программы. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||
|
|||||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Приношу свои извинения за неопытность...
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Ничего страшного, я сам неделю потратил пытаясь с Парадоксом через ADO работать, и плюнул, потому что фигня получилась. Потом уже проверял производительность парадокса для разных типов доступа к данным, например скорость вставки новой записи в таблицу: BDE - 2000 записей в секунду DAO - 500 записей в секунду ADO/ODBC - 30 записей в секунду Результаты меня впечатлили и я решил, что с парадоксом работать надо только через BDE... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Встречный вопрос: А как обойтись без Алиаса?
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
1) В поле имени базы данных можно указать путь к папке с файлами
2) Можно создать временный (на время работы базы данных) и постоянный Alias в самой программе, см. методы встроенного объекта session -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Ok, гляну...
А то на компе, куда должен отнести базу данных, может не быть ADO и BDEAdministrator... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Я с Vit`om полностью согласен
с BDE без алиасов DM - DataModule В процедуру передается путь к исполняемому файлу програмыы (это у меня так), можно установить любой путь - это путь к твоейс БД путь к своей проге можно узнать двумя способами: 1. P:=ExtractFileDir(Application.ExeName) 2. P:=EctractFilePath(ParamStr(0))
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |