1 / 1 / 0
Регистрация: 08.11.2015
Сообщений: 21

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

12.11.2015, 02:06. Показов 2787. Ответов 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
1409 / 573 / 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru