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

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

06.03.2017, 00:05. Показов 2476. Ответов 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
Ответ Создать тему
Новые блоги и статьи
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 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru