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

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

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

Author24 — интернет-сервис помощи студентам
Я написал вот так, но выдает ошибку, что не может найти 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
Ответы с готовыми решениями:

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

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

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

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

10
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
02.06.2022, 21:53 2
1. Тот факт, что обращаетесь из одной формы к компонентам, расположенным на другой... Нужные модули приинклюдили?
2. Все компоненты для подключения и работы с БД надо размещать в отдельном DataModule, если разрабатываете многооконное приложение (что в 99% случаев совершенно не нужно и не оправданно)
3. Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
4. Использование TADOTable в качестве набора данных (собственно, как и ADO в целом) - принципы и методы работы прошлого тысячелетия.
5. Почему режим открытия БД - Read? Вы что, не собираетесь вносить изменения или добавлять данные в базу? Очень странно, прямо скажем...
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
04.06.2022, 16:58  [ТС] 3
Цитата Сообщение от 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
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
04.06.2022, 17:00 4
Цитата Сообщение от Summer_ Посмотреть сообщение
я просто делал на основе примера
и что, в этом примере тоже для каждого компонента своя строка подключения? Да не поверю!
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
04.06.2022, 17:01  [ТС] 5
Цитата Сообщение от D1973 Посмотреть сообщение
и что, в этом примере тоже для каждого компонента своя строка подключения? Да не поверю!
Вы имеете ввиду, для каждого свой DataSource?
Или каждому свой ADOTable?
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
04.06.2022, 17:14 6
Нет. Я имею в виду, что для каждого ADOTable отдельное свойство ConnectionString - это неправильно!
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
04.06.2022, 20:35  [ТС] 7
Цитата Сообщение от D1973 Посмотреть сообщение
Нет. Я имею в виду, что для каждого ADOTable отдельное свойство ConnectionString - это неправильно!
А как нужно?

Добавлено через 2 часа 57 минут
Цитата Сообщение от D1973 Посмотреть сообщение
Нет. Я имею в виду, что для каждого ADOTable отдельное свойство ConnectionString - это неправильно!
Вы тут?
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
05.06.2022, 01:22 8
Цитата Сообщение от Summer_ Посмотреть сообщение
А как нужно?
Так написал же:
Цитата Сообщение от D1973 Посмотреть сообщение
Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
05.06.2022, 13:38  [ТС] 9
Цитата Сообщение от D1973 Посмотреть сообщение
Нельзя делать для каждого компонента свое подключение! Для подключения к БД используется компонент ТADOConnection, для него динамически создается строка подключения и осуществляется это самое подключение. Все остальные компоненты подключаются к БД, используя уже установленное соединение.
Я посмотрел пример от препода, вроде такого не нашел, вот она
Вложения
Тип файла: pdf Пример для КР по базам данных Крамаренко.pdf (1.21 Мб, 5 просмотров)
0
Модератор
 Аватар для D1973
9655 / 6261 / 2429
Регистрация: 21.01.2014
Сообщений: 26,694
Записей в блоге: 3
05.06.2022, 13:45 10
Про DataModule там сказано, но вот то, что каждый набор данных имеет свое подключение к БД - дичь дичайшая.
0
0 / 0 / 0
Регистрация: 31.03.2022
Сообщений: 37
05.06.2022, 14:05  [ТС] 11
Цитата Сообщение от D1973 Посмотреть сообщение
Про DataModule там сказано, но вот то, что каждый набор данных имеет свое подключение к БД - дичь дичайшая.
Получается методичка плохого уровня?
Можете помочь мне с экспортом данных, создал отдельную тему
0
05.06.2022, 14:05
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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>...

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

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

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

При подключении выдает ошибку
Скачал себе XAMP в нем запустил apache и mysql (все заработало). Пробовал подключиться к базе с...

При подключении выдает ошибку
Скачал себе XAMP в нем запустил apache и mysql (все заработало). Пробовал подключиться к базе с...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru