Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Riderik
28 / 28 / 4
Регистрация: 24.07.2011
Сообщений: 171

MFC OLE DB и Datagrid

27.01.2014, 00:37. Показов 2355. Ответов 1

Студворк — интернет-сервис помощи студентам
Такое дело: надо создать класс базы данных привязать к Datagrid. Всё было бы элементарно, если использовать ODBC, но нужно именно OLE. При создании класса таблицы, генерируется не наследник CRecordset-а, а CTable, которая относится к CRowset. И это надо привязать к Datagrid. При попытке скормить объект CTable в грид (m_DataGrid.putref_DataSource(reinterpre t_cast<LPUNKNOWN>(m_pSet)) происходит исключение связанное с ошибкой доступа к памяти (что не удивительно, потому что тип другой подсунули).
Может кто знает как наследника CTable (от rowset) запихнуть в Microsoft DataGrid control 6.0 или другой грид?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2014, 00:37
Ответы с готовыми решениями:

Datagrid в MFC
Не нашёл компонента datagrid в MFC, какие есть альтернативы для работы с таблицами в MFC? Добавлено через 38 минут Нашёл решение...

DataGrid не работает с OLE DB 4.0
Поместил в форму DataGrid, создал в ней объекты ado.connection &amp; ado.recordset, после чего столкнулся со след проблемой, если коннект...

Можно ли связанный (или внедренный) OLE объект прокрутить на форме в OLE контейнере?
Динамически связанный OLE объект (документ Word) не помещяется целиком в форме. Можно ли связанный (или внедренный) OLE объект изменить или...

1
 Аватар для Riderik
28 / 28 / 4
Регистрация: 24.07.2011
Сообщений: 171
28.02.2014, 03:02  [ТС]
В интернете сотни тем по этому поводу и ни одного вразумительного ответа.
В общем, я нашел решение.
Как сделать грид с данными:
1) заходим в список COM компонентов в VS, находим Microsoft DataGrid, добавляем его в окно.
2) Ищем в том же списке Microsoft ADO Data Control. Скорее всего не найдете, поэтому гуглим и качаем файл MSADODC.OCX, можно попытаться скинуть его в C:\Windows\System32 и зарегистрировать с помощью regsvr32 [путь к файлу], но тоже вряд ли получится. Если не получилось открываем список COM компонентов в VS, тыкаем "Обзор" и выбираем этот файл. Добавляем в окно Microsoft ADO Data Control.
3) Открываем свойства добавленного ADO Data Control-a в поле ConnectionString тыкаем "...", появляется окно с выбором источника данных. Тут 3 варианта: использовать ссылку на файл базы, использовать имя зарегистрированной в системе базы или строку подключения. Выбираем подходящий.
4) в тех же свойствах тыкаем "..." около параметра "RecordSource". Тут определяется какие записи нам нужны. Варианты: ввести SQL запрос вручную, выбрать нужную таблицу и другие варианты.
5) Открываем свойства Microsoft DataGrid (который мы на 1 шаге добавили). В свойствах ищем "Источник данных (или Data Source)", там выбираем или вводим идентификатор ADO Data Control-a (можно подсмотреть в его свойствах, например IDC_ADODC1).
Всё, запускаем и у нас есть табличка нужного формата и, в идеале, должны быть еще и записи в табличке, но я что-то намутил и их у меня нету...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.02.2014, 03:02
Помогаю со студенческими работами здесь

Как увидеть содержание типа OLE Object с помощью Delphi-Ole Conteiner?
Привет всем, я из Болгарии у меня такой вопрос: я работю с MSAccess и в ней есть Table и Field с содержанием типа OLE Object. как я...

Ошибка в ADO: Multi-step OLE-DB generated error. Check all OLE-DB status value, if available.No work was done'
Выполняю хранимую прогу cmd.Execute и получаю ошибку: 'Multi-step OLE-DB generated error. Check all OLE-DB status value, if...

DataGrid: установить фокус на строку DataGrid, а не на сам DataGrid
Добрый день! Есть следующий код: public partial class MainWindow : Window { DataTable dt = new DataTable(); ...

Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена
OleDbConnection cn = new OleDbConnection(&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot; +...

Создание OLE-сервера и OLE-документа
Господа Программисты!!! Просветите несведущего, пожалуйста. Нужно создать OLE-сервер, да такой, чтобы потом его документы можно было...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[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 Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru