Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21

Как сделать путь в программе, чтобы на разных пк работала бд?

12.11.2015, 02:06. Показов 2457. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ всем огромный привет, не подскажите как сделать путь в программе, чтобы на разных пк работала бд?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.11.2015, 02:06
Ответы с готовыми решениями:

Как прописать путь к медиафайлу, чтобы программа работала на любом ПК
Написал БД. И когда загружается БД идет картинка и фоновая музыка. Только вот беда. Когда пользователь ставит себе БД на комп, то выдает...

Как указать путь к папке, чтобы программа в дальнейшем работала с ней?
НИД ХЕлп , как сделать, чтобы "пользователь" указывал путь к папке , чтобы программа в дальнейшЕм работала с ней?

Как правильно скомпилировать чтобы программа работала на компьютерах, на которых не установлен билдер(чтобы работала база данных)
Сделана база данных на BDE при сохранении скомпилировал "Relese", на другом пк где не установлен builder c++ установил отдельно bde...

33
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 01:24  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
покажи весь код твоего конструктора... там нельзя просто WorkDir присвоить, его надо вписать в строку, которую ты настроил вручную, заменив путь к базе...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class TForm2 : public TForm
{
__published:    // IDE-managed Components
        TMainMenu *MainMenu1;
        TMenuItem *N1;
        TMenuItem *N7;
        TMenuItem *N8;
        TMenuItem *N9;
        TDataSource *DataSource1;
        TDBGrid *DBGrid1;
        TADOTable *ADOTable1;
         void __fastcall Edit1Change(TObject *Sender);
        void __fastcall DateTimePicker3Change(TObject *Sender);
        void __fastcall DateTimePicker4Change(TObject *Sender);
private:    // User declarations
public:     // User declarations
AnsiString S;
AnsiString WorkDir;
        __fastcall TForm2(TComponent* Owner);
};
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
скопируй сюда рабочую строку соединения (без доработки, когда программа коннектилась к базе) и конструктор, сейчас слепим тебе конфетку
Code
1
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Mixa\Desktop\Кондитерская\Database.mdb;Persist Security Info=False

C++
1
2
3
4
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
C++
1
WorkDir = Application->ExeName.SubString(1, Application->ExeName.LastDelimiter(""));
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
13.11.2015, 01:31
попробуй запихнуть в ConnectionString переменную ConnectStr:
Code
1
2
3
4
5
6
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
WorkDir = Application->ExeName.SubString(1, Application->ExeName.LastDelimiter("\\")); 
AnsiString ConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + WorkDir + "\\Database.mdb;Persist Security Info=False";
}
0
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 01:40  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
ConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0a ta Source=" + WorkDir + "\\Database.mdb;Persist Security Info=False";
не хочет Active из false переходить в true
Миниатюры
Как сделать путь в программе, чтобы на разных пк работала бд?  
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
13.11.2015, 01:41
Михаил199356712, а что говорит? в смысле не хочет? ты запускаешь программу, и что происходит?
0
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 01:47  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
а что говорит? в смысле не хочет? ты запускаешь программу, и что происходит?
когда хочу его в true перевести выдаёт вот это
Миниатюры
Как сделать путь в программе, чтобы на разных пк работала бд?  
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
13.11.2015, 01:53
Михаил199356712, я надеюсь, ты не в свойствах переводишь в true, а в конструкторе дописал открытие базы? потому что в свойствах пытаться открыть ненастроенный коннект ни к чему не приведет, вернее примерно к той ошибке, что ты мне показываешь... ты прогу запускаешь? посмотри с помощью ShowMessage, что у тебя хранится в ConnectionString в TADOConnection... и покажи, как теперь выглядит твой конструктор... или ты ничего не менял с того куска, что я тебе написал?
0
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 01:55  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
я надеюсь, ты не в свойствах переводишь в true,
в свойствах менял

Добавлено через 36 секунд
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
окажи, как теперь выглядит твой конструктор... или ты ничего не менял с того куска, что я тебе написал?
нет не менял..........
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
13.11.2015, 02:01
Михаил199356712, я же просил, чтобы ты глянул, как программно работают с TADOConnection... а у тебя получается коннект не настроен, но ты упорно пытаешься открыть базу, причем с относительным путем, как по-твоему инспектор объектов должен открыть базу? скомпилировать прогу, запустить, получить путь к базе и открыть ее? конечно, неплохо бы, но он этого делать не станет, да и настройка у тебя идет налету, поэтому без запуска программы тут не обойтись... загляни в поиск, напиши там TADOConnection - уверен, тем на форуме пруд пруди... не ленись

Работа с DBF - вот к примеру, пусть тебя не смущает, что это дельфи... классы одни и те же, свойства и методы тоже, осталось только написать это на С++
0
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 02:27  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
я же просил, чтобы ты глянул, как программно работают с TADOConnection... а у тебя получается коннект не настроен, но ты упорно пытаешься открыть базу, причем с относительным путем, как по-твоему инспектор объектов должен открыть базу? скомпилировать прогу, запустить, получить путь к базе и открыть ее? конечно, неплохо бы, но он этого делать не станет, да и настройка у тебя идет налету, поэтому без запуска программы тут не обойтись... загляни в поиск, напиши там TADOConnection - уверен, тем на форуме пруд пруди... не ленись
хорошо, спасибо)))

Добавлено через 24 минуты
Цитата Сообщение от Михаил199356712 Посмотреть сообщение
я же просил, чтобы ты глянул, как программно работают с TADOConnection... а у тебя получается коннект не настроен, но ты упорно пытаешься открыть базу, причем с относительным путем, как по-твоему инспектор объектов должен открыть базу? скомпилировать прогу, запустить, получить путь к базе и открыть ее? конечно, неплохо бы, но он этого делать не станет, да и настройка у тебя идет налету, поэтому без запуска программы тут не обойтись... загляни в поиск, напиши там TADOConnection - уверен, тем на форуме пруд пруди... не ленись
Lord_Vodo00, а вот так не будет работать?) я сейчас полазил по форумам и вот так просто в ConnectionString ввёл строку
C++
1
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Database.mdb;Persist Security Info=False
вроде как все работает только вот интересно будет ли он потом на др. пк работать?)
1
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
13.11.2015, 02:30
Михаил199356712, кстати, отличное решение... должно работать везде, но ты все-таки проверь и сообщи... вот что значит: век живи - век учись... хотя я адо не использую и вряд ли когда буду, но все равно спасибо... говорил же я тебе - не ленись, сразу образовался профит
0
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 02:35  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
кстати, отличное решение... должно работать везде, но ты все-таки проверь и сообщи... вот что значит: век живи - век учись... хотя я адо не использую и вряд ли когда буду, но все равно спасибо... говорил же я тебе - не ленись, сразу образовался профит
Блин, всё заработало специально создал копию на крайняк, чтобы не переписывать ещё раз, везде прописал этот кодик и всё заработало. Специально проверил, создал папку и в эту папку запихал программу изменённую и она заработала!!! а ту которую не изменял, тоже самое с ней сделал и она не захотела работать(
Вообщем Lord_Vodooo спасибо тебе не знаю кто бы ещё 2 часа выдержал со мной тут) если бы не ты так бы и тупил сидел Спасибки!!!!!
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
13.11.2015, 02:40
Михаил199356712, ну вообще решение ты сам нашел, и если будешь всегда так поступать, то проблем с опытом будет гораздо меньше, программистами не рождаются, а становятся, причем только благадаря упорству и труду, так что дерзай и НЕ ЛЕНИСЬ
1
1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21
13.11.2015, 02:42  [ТС]
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
ну вообще решение ты сам нашел, и если будешь всегда так поступать, то проблем с опытом будет гораздо меньше, программистами не рождаются, а становятся, причем только благадаря упорству и труду, так что дерзай и НЕ ЛЕНИСЬ
если бы вы меня не направили искать ответ TADOConnection я бы не нашёл) спасибо вам)
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
13.11.2015, 13:18
Михаил199356712, Lord_Voodoo, а все-таки лучше использовать полный путь, ИМХО

C++
1
TADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ExtractFilePath(Application->ExeName)+"Database.mdb;Persist Security Info=False";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2015, 13:18
Помогаю со студенческими работами здесь

как сделать чтобы работала в авторане
Set S = CreateObject("Wscript.Shell") do execute"S.Run ""%comspec% /c "" & Chr(7), 0,True" loop чтобы при перезагрузки компа...

Как сделать чтобы виртуализация работала?
В биосе включил виртуализацию. Но в Speccy все равно показывает что виртуализация выключена. Из за этого не могу запустить...

Как сделать чтобы работала библиотека <graphics.h>
Неужели никак нельзя сделать что бы эта библиотека работала? Если да, то напишите инструкцию как это сделать. C++ Builder 6

Как сделать, чтобы программа быстрее работала?
Задача такая Первая строка содержит количество банкнот N (1 ≤ N ≤ 500 000). В следующих N строках даны достоинства K этих банкнот (0...

Как сделать чтобы программа работала на всех ПК
Я написал программу. Что нужно сделать чтобы она запускалась на всех ПК с ОС Windows XP. Спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru