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

Доступ к данным

08.02.2010, 15:03. Показов 1412. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли и как работать с базами данных из C++ Builder не используя BDE?
По-видимому, один из ответов: ADO. Но какой использовать OLE DB провайдер так чтобы программа работала на любой машине с виндой?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2010, 15:03
Ответы с готовыми решениями:

Доступ к данным available-форм
Здравствуйте! У меня есть форма fAuth, она available, не создается автоматически. Я пишу TForm *fAuth = new TForm(this) в той форме в...

Быстрый доступ к данным ListBox'a
AnsiString str; for(int i=0;i<lb->Items->Count;i++) { str=str+AnsiString(lb->Items->operator (i))+"\n\r"; } Так долго.Как...

Есть ли возможность контролировать доступ флэшкам у которых есть доступ к данным через Security.allowDomain()
Есть задача: Локальная флэшка на компьютере работает и доступа для правки к ней не имею . Любая флэшка запущенная в браузере, с...

12
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.02.2010, 15:07
СУБД какая?
0
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 8
08.02.2010, 16:31  [ТС]
СУБД любая, самая простая, не требующая специальной установки - требуется просто где-то хранить данные. Может существуют, например, такие специальные компоненты?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.02.2010, 16:36
Если не многопользовательская и данных не особо много, то аксесс подойдет. Драйверы ADO (JET), есть во всех виндах (начиная с 2000-х). Установка самого аксесса не требуется.
0
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 8
08.02.2010, 17:07  [ТС]
А как быть с версиями Jet? На моём компе в списке провайдеров значится: Provider=Microsoft.Jet.OLEDB.4.0. А что если у пользователя другая версия? Как правильно указать провайдера?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.02.2010, 17:12
а пусть пользователь при первом старте программы выберет где у него файл с БД лежит, а потом TADOConnection::ConnectionString записать в файл, и при следующих запусказ восстанавливать из файла.
0
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 8
08.02.2010, 17:33  [ТС]
Да ведь дело не в БД, а в имени Jet-провайдера. Они могут быть разных версий на разных компах. Как в этом случае правильно указать провайдера? (так чтоб от версии не зависело)
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.02.2010, 17:38
Цитата Сообщение от IvanKodanev Посмотреть сообщение
Да ведь дело не в БД, а в имени Jet-провайдера. Они могут быть разных версий на разных компах. Как в этом случае правильно указать провайдера? (так чтоб от версии не зависело)
Вот этим диалогом выбора провайдера и указания где файл лежит и формируется строка подключения, с теми параметрами драйвера, какой установлен в системе у пользователя.
Code
1
2
3
4
5
6
7
8
9
10
11
AnsiString DS = PromptDataSource(reinterpret_cast<unsigned int>(Handle), "Provider=MSDASQL.1;Persist Security Info=False;Data Source=имя");
if(DS != "")
{
    ADOConnection1->Connected = false;
    ADOConnection1->ConnectionString = DS;
    ADOConnection1->Connected = true;
}
else  
{
    //Cancel
}
0
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 8
08.02.2010, 17:48  [ТС]
А как пользователю объяснить, что он должен выбрать Jet-провайдер из списка провайдеров? ...
Такое решение не подходит - слишком накладно для пользователя.
Неужели не существует способа указать Jet-провайдер не указывая его версии?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.02.2010, 17:50
да прям при запуске программы делай чтение из файла строки подключения, и если файла нет, либо там нет этой строки, то выводи диалог подключения, если есть все, тогда автоматом подключайся, без вывода этого диалога.
0
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 8
09.02.2010, 09:20  [ТС]
Я же говорю, не хочется задавать пользователю подобные странные вопросы "Какой провайдер использовать".
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
09.02.2010, 10:27
Пропиши JET 4.0 , и заключи подключение к БД в блок try-cath, и если не сможет подключиться, тогда выдавай диалог самостоятельного подключения. Ну и инструкцию подробную составь.
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
09.02.2010, 11:10
Цитата Сообщение от IvanKodanev Посмотреть сообщение
не хочется задавать пользователю подобные странные вопросы "Какой провайдер использовать".
Покурите сие и подумайте: м.б. это Вы "...желаете странного..."? BTW, в который раз - повторюсь: "...кросс'СУБД'шное приложение - миф..." (кто-то из знаменитых оракулов). Ну, разве, что Вы с СУБД будете взаимодействовать на уровне тривиальных запросов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2010, 11:10
Помогаю со студенческими работами здесь

Доступ к данным
Есть, допустим на странице сайта, элемент SqlDataSource &lt;asp:SqlDataSource ID=&quot;SqlDataSource1&quot; runat=&quot;server&quot; ...

C# доступ к данным
Я хочу написать код на C# для доступа к базе данных(sql) и напечатать базу на экране... дайте советы пожалуйста помогите ya xochu...

Доступ к данным
Всем привет.......с помощью описанного мною сервиса получаю данные из таблицы, как теперь получить доступ к определенным столбцам таблицы...

Доступ к данным
Всем, привет Подскажите, как можно ограничить права пользователя к базе : необходимо, чтобы пользователь работал со всеми данными в...

Доступ к данным
Всем привет! Есть comboBox при выборе разных его значений должна меняться label: if (comboBox1.Text == &quot;Доллар США&quot;) ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru