1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89

Обновление ADOQuery

24.03.2011, 12:00. Показов 4835. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Столкнулся с проблемой, связанной с обновлением данных после нажатия кнопки

Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
ADOQuery2->Active=false;
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("INSERT INTO grup (N_grup, fio_ruk) VALUES("+ComboBox2->Text+",'"+ComboBox1->Text+"');");
ADOQuery2->ExecSQL();
ADOQuery2->Active=false;
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("Select * FROM grup;");
ADOQuery2->Open();
ADOQuery2->SQL->Add("UPDATE grup SET(N_grup, fio_ruk);");
 
Label1->Caption=ADOQuery2->FieldByName("N_grup")->AsString;
Label2->Caption=ADOQuery2->FieldByName("fio_ruk")->AsString;
После нажатия кнопки должно произойти событие добавление и вывода добавленных значений в Label1 и Label2.Данные добавляются но выводятся лишь при перезапуске программы!

Как сделать чтобы выводилось сразу?спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2011, 12:00
Ответы с готовыми решениями:

Запрос ADOQuery внутри другого ADOQuery реален?
Помогите сформировать запрос для двух ADOQuery. Есть 2 таблицы БД mssql: sotrudniki , table_hlp(Вспомогательная таблица для делания...

ADOQuery
ADOQuery при попытке сделать его активным выдает ошибку "Missing SQL property". Источник для ADOQuery ADOConnection. Он подключился...

ADOQuery
Всем привет, прошу помощи... Делаю запрос в Аксес... Form1->ADOQuery1->SQL->Add("SELECT * from users where Serial="+AnsiString(i));...

9
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.03.2011, 16:40
А так?

C++
1
2
3
4
5
6
7
8
9
10
ADOQuery2->Active=false;
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Text = "INSERT INTO grup (N_grup, fio_ruk) VALUES('"+ComboBox1->Text+"','"+ComboBox2->Text+"')";
ADOQuery2->ExecSQL();
ADOQuery2->Active=false;
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("Select * FROM grup");
ADOQuery2->Open();
Label1->Caption=ADOQuery2->FieldByName("N_grup")->AsString;
Label2->Caption=ADOQuery2->FieldByName("fio_ruk")->AsString;
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
24.03.2011, 17:18  [ТС]
Не работает и так(
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.03.2011, 17:34
Что пишет?

Добавлено через 15 минут
Кстати у тебя я так понял, 2 ADOQuery или как? Ты в одном добавляешь, а в другом обновляешь?
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
24.03.2011, 17:40  [ТС]
Ничего не пишет, просто результат только после перезапуска!
ADOQuery- их два, но обновляю в одном и добавляю в нем же!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.03.2011, 17:47
Тогда можешь попробывать метод Requery(); только после того как откроешь запрос. А за UPDATE вообще забудь, здесь он тебе не нужен.
1
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
24.03.2011, 18:37  [ТС]
Попробовал, а в каком месте его вставить?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
24.03.2011, 20:12
C++
1
2
3
4
5
6
7
8
9
10
11
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Text = "INSERT INTO grup (N_grup, fio_ruk) VALUES('"+ComboBox1->Text+"','"+ComboBox2->Text+"')";
ADOQuery2->ExecSQL();
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("Select * FROM grup");
ADOQuery2->Open();
ADOQuery2->Requery();
Label1->Caption=ADOQuery2->FieldByName("N_grup")->AsString;
Label2->Caption=ADOQuery2->FieldByName("fio_ruk")->AsString;
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
12.04.2011, 10:58
В случае когда изменение датасета выполняется не через его методы append, insert, update, delete, следует использовать два РАЗНЫХ объекта:
- собственно TADODataSet - для отображения
- TADOCommand (много лучше и универсальнее чем TADOQuery) - для изменения
После изменения отображающий TADODataSet переоткрывать с последующей автолокализацией записи (Close, Open, Locate(UID...)) либо использовать Requery как уже было сказано выше

Ну и еще, конечно, не забывать про подтверждения/откаты транзакций

Добавлено через 1 минуту
Вдогонку.
ОБЯЗАТЕЛЬНО ! Оба объекта должны работать в контексте одного соединения !
1
0 / 0 / 0
Регистрация: 02.05.2013
Сообщений: 3
26.05.2013, 02:20
Цитата Сообщение от MsGuns Посмотреть сообщение
Добавлено через 1 минуту
Вдогонку.
ОБЯЗАТЕЛЬНО ! Оба объекта должны работать в контексте одного соединения !
Золотые слова! это надо писать всем первым пунктом!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2013, 02:20
Помогаю со студенческими работами здесь

ADOQuery
Друзья! Нужна помощь. Ситуация такая, имеется приложение написанное в билдере ХЕ которое работает с СУБД Оракл. несколько форм, работающие...

ADOQuery
Ребят не могу понять почему ADOQuery не выполняет запрос с count()? В чем может быть проблема?

Запросы в ADOQuery
У меня есть вопрос как сделать чтобы два запроса выполнялись в ADOQuery:вот этот на дату: ADOQuery1.SQL.Add(SELECT * FROM "Выдача...

ADOQuery параметры
ADOQuery3->Active = false; ADOQuery3->SQL->Clear(); ADOQuery3->SQL->Add("SELECT ФИО, Компания, Дата1, Дата2, Причина"); ...

ADOQuery->Filter?
С++ Builder 6, TADOQuery. Использую фильтер, для отсеивания данных. Нужно отсеять по годам, т.е. страше 18, например. Как прописать...


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

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

Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru