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

Не понимаю почему выдает ошибку при подключении к БД

01.06.2022, 19:41. Показов 6248. Ответов 10

Студворк — интернет-сервис помощи студентам
Я написал вот так, но выдает ошибку, что не может найти ADOTableInvest И DataSourceInvest, Хотя Client нашел вроде в Form 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
oid __fastcall TForm2::N3Click(TObject *Sender)
 
void __fastcall TForm2::N3Click(TObject *Sender)
{
const String ConnStr = "Provider=%s;Data Source=%s;Mode=%s";
if (OpenDialog1->Execute())
{
Form1->ADOTableClient->ConnectionString = Format (ConnStr,
ARRAYOFCONST(("Microsoft.Jet.OLEDB.4.0",(String)OpenDialog1->FileName,
"Read")));
DBGrid1->DataSource=Form1->DataSourceClient;
Form1->DataSourceClient->DataSet=Form1->ADOTableClient;
Form1->ADOTableClient->Active=true;
Form1->ADOTableInvest->ConnectionString = Form1->ADOTableInvest->ConnectionString;
DBGrid2->DataSource=Form1->DataSourceInvest;
Form1->DataSourceInvest->DataSet=Form1->ADOTableInvest;
Form1->ADOTableInvest->Active=true;
}
}
Мне нужно сделать подключение к БД через OpenDialog
Миниатюры
Не понимаю почему выдает ошибку при  подключении к БД  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2022, 19:41
Ответы с готовыми решениями:

Не понимаю почему выдаёт ошибку при вводе процедуры в код
Только учусь программированию на самом базовом языке, поэтому никак не могу понять почему мне выдаёт ошибку: "неверное количество...

Выдает ошибку не понимаю почему
Помогите Выдает ошибку не понимаю почему именно в строчке где я хочу закрыть форму по нажатию на кнопку #pragma endregion private:...

Не понимаю почему выдает ошибку
procedure TForm1.Button1Click(Sender: TObject); var f : textfile; i : integer; begin if OpenDialog1.Execute then begin ...

10
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
02.06.2022, 21:53
1. Тот факт, что обращаетесь из одной формы к компонентам, расположенным на другой... Нужные модули приинклюдили?
2. Все компоненты для подключения и работы с БД надо размещать в отдельном DataModule, если разрабатываете многооконное приложение (что в 99% случаев совершенно не нужно и не оправданно)
3. Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
4. Использование TADOTable в качестве набора данных (собственно, как и ADO в целом) - принципы и методы работы прошлого тысячелетия.
5. Почему режим открытия БД - Read? Вы что, не собираетесь вносить изменения или добавлять данные в базу? Очень странно, прямо скажем...
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
04.06.2022, 16:58  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
компоненты для подключения и работы с БД надо размещать в отдельном DataModule, если разрабатываете многооконное
Цитата Сообщение от D1973 Посмотреть сообщение
1. Тот факт, что обращаетесь из одной формы к компонентам, расположенным на другой... Нужные модули приинклюдили?
2. Все компоненты для подключения и работы с БД надо размещать в отдельном DataModule, если разрабатываете многооконное приложение (что в 99% случаев совершенно не нужно и не оправданно)
3. Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
4. Использование TADOTable в качестве набора данных (собственно, как и ADO в целом) - принципы и методы работы прошлого тысячелетия.
5. Почему режим открытия БД - Read? Вы что, не собираетесь вносить изменения или добавлять данные в базу? Очень странно, прямо скажем..
Я решил вопрос с этим, там Unit1 не там находился и программа поэтому найти не могла, сейчас вроде все заработало.

Добавлено через 1 минуту
Цитата Сообщение от D1973 Посмотреть сообщение
4. Использование TADOTable в качестве набора данных (собственно, как и ADO в целом) - принципы и методы работы прошлого тысячелетия.
Ну вот такая методичка в ВУЗе, я просто делал на основе примера, что препод скинула.
Теперь мне нужно сделать экспорт в Эксель, поможете с этим, я нашел ваши ответы по этому поводу в 2015 году на форме, но что то сам разобраться не смогу, там вроде тоже с помощью ADOTable делали БД. Экспорт в Excel
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
04.06.2022, 17:00
Цитата Сообщение от Summer_ Посмотреть сообщение
я просто делал на основе примера
и что, в этом примере тоже для каждого компонента своя строка подключения? Да не поверю!
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
04.06.2022, 17:01  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
и что, в этом примере тоже для каждого компонента своя строка подключения? Да не поверю!
Вы имеете ввиду, для каждого свой DataSource?
Или каждому свой ADOTable?
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
04.06.2022, 17:14
Нет. Я имею в виду, что для каждого ADOTable отдельное свойство ConnectionString - это неправильно!
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
04.06.2022, 20:35  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Нет. Я имею в виду, что для каждого ADOTable отдельное свойство ConnectionString - это неправильно!
А как нужно?

Добавлено через 2 часа 57 минут
Цитата Сообщение от D1973 Посмотреть сообщение
Нет. Я имею в виду, что для каждого ADOTable отдельное свойство ConnectionString - это неправильно!
Вы тут?
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
05.06.2022, 01:22
Цитата Сообщение от Summer_ Посмотреть сообщение
А как нужно?
Так написал же:
Цитата Сообщение от D1973 Посмотреть сообщение
Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
05.06.2022, 13:38  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
Я посмотрел пример от препода, вроде такого не нашел, вот она
Вложения
Тип файла: pdf Пример для КР по базам данных Крамаренко.pdf (1.21 Мб, 5 просмотров)
0
Модератор
 Аватар для D1973
9923 / 6459 / 2457
Регистрация: 21.01.2014
Сообщений: 27,409
Записей в блоге: 3
05.06.2022, 13:45
Про DataModule там сказано, но вот то, что каждый набор данных имеет свое подключение к БД - дичь дичайшая.
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
05.06.2022, 14:05  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Про DataModule там сказано, но вот то, что каждый набор данных имеет свое подключение к БД - дичь дичайшая.
Получается методичка плохого уровня?
Можете помочь мне с экспортом данных, создал отдельную тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2022, 14:05
Помогаю со студенческими работами здесь

Не понимаю почему выдает ошибку
Вам поручено написать систему распределения доступа к файлам. Она должна не пускать пользователя к тем файлам, прочитать которые у него не...

Выдает ошибку, не понимаю почему!
Эта строка подчеркивает красным: if(strcmp(str,"sin")==0) res=sin(res); #include <iostream> #include <conio.h> #include...

Не понимаю почему выдаёт ошибку
Сделал такой код, очень кривой, потому что только начал изучать язык, не очень понимаю почему выдаёт ошибки. Ошибки с 2ух сторон отметил...

Не понимаю почему выдает эту ошибку
Здравствуйте, вот код программы( игра змейка ). Все вроде правильно, но выдает ошибку : main: недопустимые локальные определения функций....

ошибка! программа выдает ошибку неинициализированнная переменная s, не понимаю почему
доброго времени суток, программа выдает ошибку "использована неинициализированная локальная переменная "s" ". я ее обьявил,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru