Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
 Аватар для denisVBNET
141 / 8 / 3
Регистрация: 04.09.2015
Сообщений: 113

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

04.03.2016, 15:15. Показов 5185. Ответов 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 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru