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

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

04.03.2016, 15:15. Показов 5179. Ответов 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_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru