Аватар для denisVBNET
141 / 8 / 3
Регистрация: 04.09.2015
Сообщений: 113

Добавление записи в DBGrid и получение записи в DBGrid Другой формы

04.03.2016, 15:15. Показов 5208. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
К проекту подключена Access .mdb БД. Имеется 2 формы. На обоих формах есть DBGrid. Как сделать, что бы при добавлении записи в таблицу из одной формы эта запись появлялась и в DBGrid другой формы. В первом на Form1 она появляется.

Добавлено через 7 минут
C++
1
2
3
4
5
ADOTable1->Active=true;
    ADOTable1->Edit();
    ADOTable1->Append();
    ADOTable1->FieldByName("doljnost")->AsString=Edit1->Text;
    ADOTable1->Post();
Вот код добавления первой формы.
Думаю нужно добавить строку, которая будет обновлять данные в другом гриде Form2. Только не знаю как написать.
На обоих формах свои ADOConnect, ADOTable и DataSource. Все подключены к одной и той же базе и к одной таблице.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2016, 15:15
Ответы с готовыми решениями:

Изменение записи в DBGrid из другой формы
на Form1 есть DBGrid, ado. В этой форме пишу: DataSource1->DataSet->Edit(); ADOTable1->Fields->Fields->Value=Edit1->Text; ...

[C++ builder XE] DBGrid. Удаление/добавление/изменение БД mysql через DBGrid
Здравствуйте! Возможно тема заезженная, но не чего путнего не нашел(может так искал!) Нужна помощь в добавлении и изменении...

Отобразить записи в dbgrid
Подключаю бд, с помощью ADOQuery отображаю данные в в dbgrid. Подскажите как после фильтрации отобразить все записи таблицы.

4
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.03.2016, 15:37
Лучший ответ Сообщение было отмечено denisVBNET как решение

Решение

По пробуй прировнять Datasource1 к DataSource2. А второй DBGrid настроить на DataSource2. И посмотри будет ли одинаковое отображение в обеих гридах или нет..........

Добавлено через 5 минут
Цитата Сообщение от denisVBNET Посмотреть сообщение
ADOTable1->Edit();
* * ADOTable1->Append();
Вот эти записи не много противоречат друг другу потому как Edit() изменяет(правит) строку в таблице, а Append() добавляет новую строку в таблицу
1
 Аватар для denisVBNET
141 / 8 / 3
Регистрация: 04.09.2015
Сообщений: 113
04.03.2016, 19:12  [ТС]
Попробую, спасибо. Они может и противоречат, но работают хорошо)
Я работал в Visual Studio VB.NET и там немного попроще было с этим, добавляя в одну форму я писал код на загрузку данных в другую. Код тот же, что работает при открытии формы, а на C++ даже закрыв и заново запустив вторую форму изменений нет. Только после перезапуска приложения появляются.

Добавлено через 3 минуты
Спасибо за совет, все заработало, только немного другой способ) я к DataSource из второй формы назначил ADOTable первой и при добавлении записи в первую форму они тут же появляются во второй и так же удаляются без проблем)
0
188 / 41 / 12
Регистрация: 22.02.2016
Сообщений: 149
06.03.2016, 20:31
denisVBNET,
Они может и противоречат, но работают хорошо)
Что здесь сказать? Смысл работы у них немного разный. В каждом случае создается вспомогательный буфер в который в одном случае TDataSet готовится для редактирования записи и данные копируются в этот буфер и потом восстанавливаются в методе Post(), а в другом случае добавляется новая строка.
даже закрыв и заново запустив вторую форму изменений нет.
А причем здесь форма? форма и грид на ней лишь отображает содержимое источника данных (TDataSet). Если он у Вас не изменился, то и на форме изменений не увидите.
я к DataSource из второй формы назначил ADOTable
Ну если оба TDataSource указывали на разные таблицы - то тогда понятно почему вы не увидели изменений. А в целом вам было бы достаточно одного TDataSource который можно использовать у грида как первой, так и второй формы. В этом случае изменив данные в таблице, данные изменения были бы видны и в гриде второй формы
0
 Аватар для denisVBNET
141 / 8 / 3
Регистрация: 04.09.2015
Сообщений: 113
07.03.2016, 16:00  [ТС]
Цитата Сообщение от dstar Посмотреть сообщение
А причем здесь форма?
Я же писал, что в другой среде работал и там по открытию формы данные в нее грузились. вот.
Цитата Сообщение от dstar Посмотреть сообщение
Ну если оба TDataSource указывали на разные таблицы
нет не на разные. одна база данных, одна таблица, просто разные ADOTable и ADOConnect с DataSource.
Все манипуляции с одной и той же БД. Просто не привык еще) еще только учу C++) Спасибо за советы)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2016, 16:00
Помогаю со студенческими работами здесь

Номер записи в DBgrid
Какой параметр IBTable или DBgrid указывает на номер выделенного элемента в таблице? Тоесть в таблице с базой данных, в левой колонке...

DBGrid - удаление записи из базы
Здравствуйте! У меня такой вопросик, как можно удалить запись из базы? на форме есть компоненты ADOTable, ADOQuery, DataSource,...

Одинаковые записи таблиц DBGrid
В общем нужно создать такое условие, чтобы при попытке добавить запись из первой таблицы во вторую, проверялось наличие этой записи во...

Редактирование записи выбранной в DBGrid
Добрый вечер. Отображаю данные в DBGrid таким образом переходом на другую форму void __fastcall Tfrm_oprr::N2Click(TObject *Sender)...

Функция в с++ Builder для удаления записи DBGrid, ADOTAble
Хотел сделать функцию для удаления строк из DBGrid, ADOTAble, код простой, но повторятся бы не хотелось. Все возможные идеи закончили...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
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-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru