22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
|
1 | |
Работа с БД: с чего начать12.01.2020, 15:15. Показов 42994. Ответов 72
Метки нет Все метки)
(
Есть файл Parik.accdb (Оффис 2016г.), Винда х64, работаю в VS2019. Хочу написать приложение в С++, делающее запрос к БД и выводящее результат в консоль. С чего начать? Нужно ли установить какие-нибудь библиотеки, посмотреть, что показывает Администратор источника данных ODBC (или использовать не ODBC)? Какой шаблон проектов (пустое приложение, приложение MFC, консольное приложение) выбрать?
Являюсь начинающим программистом, возможно, не в тот раздел поместил тему.
0
|
|
12.01.2020, 15:15 | |
Ответы с готовыми решениями:
72
работа с графикой. с чего начать? Работа с API. С чего начать? Дипломная работа. С чего начать ? Работа с изображениями, с чего начать? |
Заблокирован
|
|
12.01.2020, 16:09 | 2 |
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
12.01.2020, 18:52 | 3 |
Начать нужно с ADODB. Устанавливать ничего не нужно.
Использование ADO с Microsoft Visual C++
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
|
13.01.2020, 10:46 [ТС] | 4 |
Прошёл по ссылке , которую предоставил qll, там представлен код решения VS, попробовал запустить - не пошло, выдало ошибку. Тогда создал новый проект, вставил в него представленный код из файла .cpp, выдало 35 ошибок.
По поводу второго ответа: я хочу использовать С++, а не Visual C++. Итак, повторю вопрос: какой шаблон проектов (пустое приложение, приложение MFC, консольное приложение) выбрать?
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.01.2020, 10:54 | 5 |
Используй ради бога. Там OLE - оно везде работает.
Непонятно, только, зачем написал, что работаешь в Visual C++ и спрашиваешь какие проекты из него создавать. Без разницы. Там как-то слабо зависит от шаблона проекта.
1
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
|
13.01.2020, 12:12 [ТС] | 6 |
Я написал, что работаю в VS2019, а не в Visual C++.
Следуя вашему совету, создал пустой проект, в нём создал класс BD. Перешёл по ссылке на вашу статью про ADO, там указано, что надо использовать директиву #import для подключения библиотеки ADO. Пока всё нормально, буду дальше разбираться. Тему рано закрывать, чувствую, что скоро вылезут проблемы.
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
13.01.2020, 12:20 | 7 |
Это оно и есть.
На самом деле я бы разбил задачу изучения на две части - научиться работать с базами данных через ADO и научиться работать с COM-интерфейсами на с++. Первую часть наверное лучше изучать в скриптах - javascript, vbscript или VBA (можно прямо в Excel). Там те же самые объекты и методы, потом их можно будет просто перенести в с++
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
|
13.01.2020, 14:01 [ТС] | 8 |
VS2019 - это Visual Studio 2019, а не Visual C++.
Как работать с БД через ADO я более или менее когда-то разобрался, сейчас надо будет освежить память. Теперь задача обратиться к adodataset, типа: adodataset::adodataset () и т.д. Если не справлюсь, то обращусь за помощью ![]()
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
||||||
19.01.2020, 13:25 [ТС] | 9 | |||||
Не удалось всё сделать самостоятельно
![]() Итак, следуя инструкциям, сделал импорт библиотек:
Отсюда вопрос: может, не надо делать импорт библиотек, а использовать какой-нибудь System.SQL?
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
19.01.2020, 14:55 | 10 |
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
||||||
19.01.2020, 15:38 [ТС] | 11 | |||||
Я же уже написал, что сделал импорт библиотеки, вот код:
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
19.01.2020, 15:40 | 12 |
Забей на эту линию. Это ошибка IntelliSence, не смотри на них вообще. Других ошибок нет?
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
|
19.01.2020, 15:50 [ТС] | 13 |
Других нет.
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
19.01.2020, 15:54 | 14 | |||||
Значит всё нормально. Рекомендую убрать там no_namespace и попробовать сделать
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
|||||||||||
19.01.2020, 16:05 [ТС] | 15 | ||||||||||
Тогда при попытке обратиться к CDataSource появляется ошибка: Ошибка E0276: имя, за которым следует выражение "::", должно определять класс или пространство имен.
Сделал, как предложено:
Добавлено через 1 минуту При наборе "ADODB" не выпадает окно с предложением закончить слово. Добавлено через 56 секунд Может, в Visual Studio что-нибудь не установлено? Добавлено через 2 минуты А может, надо подключить файл #include?
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
19.01.2020, 16:26 | 16 |
Просто не обращай внимание на эту фигню. Это не си-шарп, здесь редактор не может так просто определить ошибку или дополнить код.
Если скомпилировалось без ошибок - в Output написано А в окне Error List выбери Build Only, вместо Build + IntelliSense
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
||||||
19.01.2020, 21:09 [ТС] | 17 | |||||
Выбрал Build Only, проблемо отчасти решилась: больше не показывается ошибка в строке #import msado15.dll Добавил рекомендованный Вами код, вот что получилось:
В следующей строке ошибка указывает на "_T": E0020 идентификатор "_T" не определен.
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
19.01.2020, 21:20 | 18 | |||||
Либо не просто не используй ADODB::, либо убери no_namespace из #import
Добавлено через 2 минуты
0
|
22 / 9 / 5
Регистрация: 12.01.2020
Сообщений: 321
|
||||||
19.01.2020, 21:32 [ТС] | 19 | |||||
Происходит какая-то чепуха: убрал no_namespace из #import - ничего не произошло. Убрал ADODB:: - ошибка перешла на _ConnectionPtr. Вернул ADODB:: - ошибки эти пропали.
Но появилась ошибка в файле msado15.tlh в строке 3127:
Такое поведение программы вызывает у меня подозрение. Добавлено через 2 минуты "L" я уже сам догадался попробовать подставить, ошибка исчезла.
0
|
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
19.01.2020, 21:34 | 20 |
0
|
19.01.2020, 21:34 | |
Помогаю со студенческими работами здесь
20
Работа в интернете, с чего начать?
Работа с файлами,чтение/запись, не знаю даже с чего начать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |