Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
denisVBNET
140 / 7 / 3
Регистрация: 04.09.2015
Сообщений: 110
1

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

04.03.2016, 15:15. Просмотров 1190. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2016, 15:15
Ответы с готовыми решениями:

Изменение записи в DBGrid из другой формы
на Form1 есть DBGrid, ado. В этой форме пишу:...

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

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

Номер записи в DBgrid
Какой параметр IBTable или DBgrid указывает на номер выделенного элемента в...

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

4
Sasha
4924 / 2388 / 530
Регистрация: 05.06.2008
Сообщений: 7,479
Записей в блоге: 3
04.03.2016, 15:37 2
Лучший ответ Сообщение было отмечено denisVBNET как решение

Решение

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

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

Добавлено через 3 минуты
Спасибо за совет, все заработало, только немного другой способ) я к DataSource из второй формы назначил ADOTable первой и при добавлении записи в первую форму они тут же появляются во второй и так же удаляются без проблем)
0
dstar
39 / 39 / 12
Регистрация: 22.02.2016
Сообщений: 148
06.03.2016, 20:31 4
denisVBNET,
Они может и противоречат, но работают хорошо)
Что здесь сказать? Смысл работы у них немного разный. В каждом случае создается вспомогательный буфер в который в одном случае TDataSet готовится для редактирования записи и данные копируются в этот буфер и потом восстанавливаются в методе Post(), а в другом случае добавляется новая строка.
даже закрыв и заново запустив вторую форму изменений нет.
А причем здесь форма? форма и грид на ней лишь отображает содержимое источника данных (TDataSet). Если он у Вас не изменился, то и на форме изменений не увидите.
я к DataSource из второй формы назначил ADOTable
Ну если оба TDataSource указывали на разные таблицы - то тогда понятно почему вы не увидели изменений. А в целом вам было бы достаточно одного TDataSource который можно использовать у грида как первой, так и второй формы. В этом случае изменив данные в таблице, данные изменения были бы видны и в гриде второй формы
0
denisVBNET
140 / 7 / 3
Регистрация: 04.09.2015
Сообщений: 110
07.03.2016, 16:00  [ТС] 5
Цитата Сообщение от dstar Посмотреть сообщение
А причем здесь форма?
Я же писал, что в другой среде работал и там по открытию формы данные в нее грузились. вот.
Цитата Сообщение от dstar Посмотреть сообщение
Ну если оба TDataSource указывали на разные таблицы
нет не на разные. одна база данных, одна таблица, просто разные ADOTable и ADOConnect с DataSource.
Все манипуляции с одной и той же БД. Просто не привык еще) еще только учу C++) Спасибо за советы)
0
07.03.2016, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2016, 16:00

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

Редактирование записи выбранной в DBGrid
Добрый вечер. Отображаю данные в DBGrid таким образом переходом на другую форму...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru