Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7

DBLookUpComboBox и ADOTable. Добавление записи

06.03.2017, 00:05. Показов 2510. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени!
Такая проблема возникла.
Использую ADOTable.
При попытке добавлении новой записи в таблицу, как только щелкаю DBLookUpComboBox, чтобы выбрать данные из связанной таблицы, пропадает пустая добавленная строка и во все поля подтягиваются предыдущие данные.
Как быть? Что не так делаю? (Не использовать ADOQuery).
Прилагаю архив.
Вложения
Тип файла: rar 12345.rar (542.2 Кб, 19 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.03.2017, 00:05
Ответы с готовыми решениями:

AdoDataSet. Добавление новой записи (insert) и связь DBLookupComboBox
Всем доброго времени суток. Имеется такая не большая проблема. В общем, есть форма, с дбгридом, отражает таблицу "список заказов"...

Добавление записи из dblookupcombobox
Проблема в том, что запись из dblookupcombobox не записывается в таблицу. Добавление записи произвожу вот так: datamodul.q1.insert;

ADOTable добавление в таблицу
Есть какой нибудь способ добавлять/изменять данные таблицы через ADO?

9
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7
06.03.2017, 17:40  [ТС]
Решил попробовать использовать ADOQuery.
Связал таблицы.
И опять же, как только щелкаю по DBLookUpComboBox, то пропадает добавленная строка.
В чем же дело?
0
5 / 5 / 4
Регистрация: 26.05.2013
Сообщений: 103
06.03.2017, 18:46
На первой форме на кнопке Добавить оставить только
C++
1
Form2->ShowModal();
На второй форме на кнопку Добавить:
C++
1
2
3
4
5
6
Form1->ADOQuery1->Insert();
        Form1->ADOQuery1->FieldByName("Имя_столбца")->AsString=Form2->DBLookupComboBox1->Text;
        Form1->ADOQuery1->FieldByName("Имя_столбца")->AsString=Form2->DBLookupComboBox4->Text;
        Form1->ADOQuery1->FieldByName("Имя_столбца")->AsString=Form2->DBEdit1->Text;
//и так далее
Form1->ADOQuery1->Post();
1
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7
06.03.2017, 22:04  [ТС]
Цитата Сообщение от zena1 Посмотреть сообщение
На второй форме на кнопку Добавить
Как я смогу вносить данные, если Insert() будет только по нажатию кнопки.
В DBEdit'ах ведь будут данные предыдущей записи.
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7
08.03.2017, 00:02  [ТС]
О боже, дошло наконец-то. Вот это я Валенок! zena1, Спасибо!
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7
08.03.2017, 00:30  [ТС]
Появилась новая проблема.
Как только выбираю нужного мне Автора на второй форме, то последующие DBLookUpComboBox'ы содержат только одно значение.
Миниатюры
DBLookUpComboBox и ADOTable. Добавление записи   DBLookUpComboBox и ADOTable. Добавление записи  
0
5 / 5 / 4
Регистрация: 26.05.2013
Сообщений: 103
08.03.2017, 09:35
Цитата Сообщение от Таракан Кузя Посмотреть сообщение
Появилась новая проблема.
Как только выбираю нужного мне Автора на второй форме, то последующие DBLookUpComboBox'ы содержат только одно значение.
Потому что другие таблицы связаны с первой. Связи у Вас прописаны в Mastersource, Masterfield компонента ADOTable/ADOQuery. Оставьте эти поля пустыми.
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7
09.03.2017, 19:08  [ТС]
Цитата Сообщение от zena1 Посмотреть сообщение
Связи у Вас прописаны в Mastersource, Masterfield
Тогда как у меня на форме будут взаимодействовать подключенные DBGrid'ы?
Например, выбираю одну запись в DBGrid1 и в DBGrid2/DBGrid3/DBGrid4/DBGrid5 показываются данные от этой записи.
0
5 / 5 / 4
Регистрация: 26.05.2013
Сообщений: 103
09.03.2017, 19:44
Лучший ответ Сообщение было отмечено Таракан Кузя как решение

Решение

Цитата Сообщение от Таракан Кузя Посмотреть сообщение
Тогда как у меня на форме будут взаимодействовать подключенные DBGrid'ы?
Например, выбираю одну запись в DBGrid1 и в DBGrid2/DBGrid3/DBGrid4/DBGrid5 показываются данные от этой записи.
Можно завести для второй формы свои ADOTable и через них подключить эдиты и комбобоксы.
Если используете ADOQuery, то убирать ключевое поле в запросе, т.е. заменить:
C++
1
ADOQuery1->SQL->Text="Select* FROM имя таблицы WHERE (ключевое поле=:Code)"
;
на
C++
1
ADOQuery1->SQL->Text="Select* FROM имя таблицы ";
1
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 7
10.03.2017, 16:54  [ТС]
Спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2017, 16:54
Помогаю со студенческими работами здесь

Добавление полей в ADOTable
Здравствуйте! Подскажите, можно ли КОДОМ добавить поля в ADOTable/ADOQuery, либо удалить поля. Т.е. например у меня есть две таблицы в...

Добавление и удаление записей из таблиц (ADOTable)
Подключена у меня БД при помощи ADOTable. Так вот, какой нужен код для добавление и удаления записей из таблиц?

ADOTable добавление данных из простых компонентов?
Подскажите пожалуйста как как мне скопировать данные из ValueListEditor в Базу Данных пользуясь ADOTable.... ...

добавление записей в цикле из edit (adotable, access)
Здравствуйте! Есть форма для ввода пользователем учебных предметов. Сначала пользователь вводит кол-во предметов( например 3). Появляется...

Редактирование последней записи в ADOtable
Здравствуйте, подключила из Access таблицу Журнал посещения.Прописала код добавления этого посещения. При входе в приложение все нормально...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru