Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.09.2020
Сообщений: 19

Изменить данные одной кнопкой

12.10.2020, 01:34. Показов 1361. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Задача обработать одно кнопкой две таблицы, разные. Добавляет, но как правильнее это сделать.

Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm4.Button1Click(Sender: TObject);
Var help1,help2:string;
begin
with TForm1 do
begin
if Form1.ADOQuery1.Modified then Form1.ADOQuery1.Post;
begin
if Form1.ADOTable1.Modified then Form1.ADOTable1.Post;
end;
end;
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2020, 01:34
Ответы с готовыми решениями:

Очистка всех edit-ов одной кнопкой
procedure Clean; var Sender: TEdit; begin (Sender as TEdit).Clear; end; {$R *.dfm} procedure TForm1.Button1Click(Sender:...

Выполнение двух процедур одной кнопкой
Есть код нажатия кнопки,выполняется функция. procedure TForm2.SpeedButton1Click(Sender: TObject); var StrPage2,mess:string; ...

Общее значение и вызов одной кнопкой несколько процедур
Добрый день, есть программа для выводы двоичного числа. Программа решает и сверяет ответ с пользователям unit nchdch; interface ...

13
Модератор
 Аватар для D1973
9926 / 6462 / 2457
Регистрация: 21.01.2014
Сообщений: 27,416
Записей в блоге: 3
12.10.2020, 06:12
Цитата Сообщение от niramirus Посмотреть сообщение
но как правильнее это сделать
Не использовать ADOTable и, соответственно, методы для работы с ней (Edit, Insert, Post...). И уж тем более не творить сие непотребство с компонентом ADOQuery. Пользоваться SQL-запросами: все остальное при работе с БД - путь в никуда.
1
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
12.10.2020, 08:11
Цитата Сообщение от niramirus Посмотреть сообщение
обработать одно кнопкой две таблицы, разные. Добавляет, но как правильнее это сделать
Полностью согласен с D1973, сам перешел на Query.

А что и куда вы перебрасываете?
0
0 / 0 / 0
Регистрация: 16.09.2020
Сообщений: 19
12.10.2020, 20:20  [ТС]
Цитата Сообщение от Komandor_Yan Посмотреть сообщение
Полностью согласен с D1973, сам перешел на Query.

А что и куда вы перебрасываете?
Хотел перенести данные с одной таблицы в другую. Query я не пользуюсь только потому то не могу связать 2 таблицы grid, по типу master - slave.
0
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
12.10.2020, 22:43
niramirus, если данные однотипные (т.е. столбцы идентичные), то лучше добавить какой-то флаг и тем самым отпадёт необходимость во второй таблице. Старожилы подсказали в своё время про нормализацию БД и тем самым спасли мне уйму времени. Гораздо проще UPDATE-ить флаг, чем копировать INSERT-ом из одной таблицы в другую данные, которые из первой затем может понадобиться удалить DELETE-ом.
1
0 / 0 / 0
Регистрация: 16.09.2020
Сообщений: 19
13.10.2020, 01:14  [ТС]
Цитата Сообщение от Komandor_Yan Посмотреть сообщение
niramirus, если данные однотипные (т.е. столбцы идентичные), то лучше добавить какой-то флаг и тем самым отпадёт необходимость во второй таблице. Старожилы подсказали в своё время про нормализацию БД и тем самым спасли мне уйму времени. Гораздо проще UPDATE-ить флаг, чем копировать INSERT-ом из одной таблицы в другую данные, которые из первой затем может понадобиться удалить DELETE-ом.
Спасибо. Мне бы пример глянуть... Все роюсь ну ни как, либо ума не хватает, либо уже ослеп от времени проведенное перед монитором.
0
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
13.10.2020, 03:23
niramirus, я лично совсем не понимаю что вы хотите сделать.
0
Модератор
 Аватар для D1973
9926 / 6462 / 2457
Регистрация: 21.01.2014
Сообщений: 27,416
Записей в блоге: 3
13.10.2020, 04:18
Цитата Сообщение от niramirus Посмотреть сообщение
по типу master - slave
Master-Slave - это способ подключения старых HDD с интерфейсом PATA...
А таблицы связываются отношением Master-Detail... Вот только эта красота в реальной жизни не нужна практически никогда...

niramirus, чтобы хоть как-то вразумительно ответить на Ваш вопрос требуется более полное ТЗ. Нам, в отличие от Вас, неизвестно вообще ничего: ни цель Вашей работы, ни средства, которые Вы при этом используете, даже сама используемая СУБД остается тайной за 7-ю печатями, не говоря уж о структуре БД...
1
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
13.10.2020, 09:37
Цитата Сообщение от niramirus Посмотреть сообщение
with TForm1 do
ты или используй предложение with правильно
Delphi
1
2
3
4
with Form1 do
begin
  ADOQuery... // ты УЖЕ сказал компилятору, что ADOQuery находится на Form1 (для этого и существует with)
end;
или не используй

Добавлено через 53 секунды
к тому же - with TForm1 - бред сивой кобылы
1
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
13.10.2020, 12:40
niramirus, пример: таблица модераторов и таблица админов. Это всё можно заменить на таблицу пользователей со столбцом-флагом "тип роли". И если это модератор, то величина должна быть, например, "mod", а если админ, то "admin" (или ещё короче "m"/"a"). Все, теперь апдейтом меняем величину флага при смене роли.
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
13.10.2020, 13:09
Цитата Сообщение от Komandor_Yan Посмотреть сообщение
Это всё можно заменить на таблицу пользователей со столбцом-флагом "тип роли"
а ещё лучше - числом. А клиентская программа интерпретирует и выдаёт пользователю информацию в зависмости от значения

исходная таблица USERS
Название: Снимок1.PNG
Просмотров: 49

Размер: 2.9 Кб

SELECT
SQL
1
2
3
4
5
6
7
SELECT
  users.name AS "Имя",
  CASE
    WHEN users.status = 0 THEN 'Модератор'
    WHEN users.status = 1 THEN 'Пользователь'
  END AS "Роль"
FROM users
Вывод
2
0 / 0 / 0
Регистрация: 16.09.2020
Сообщений: 19
13.10.2020, 17:11  [ТС]
Всем спасибо. Систематическое недосыпание дает о себе знать Попробую объяснить что я хочу сделать. Имею 2 Grid, 1 ADOquery и 1 ADOtable. База access с 2-мя таблицами, одна из которых мастер, а другая слейв. Так вот есть необходимость одной кнопкой внести изменения в обе таблицы.
Цитата Сообщение от DenNik Посмотреть сообщение
а ещё лучше - числом. А клиентская программа интерпретирует и выдаёт пользователю информацию в зависимости от значения
Спасибо, но SQL пока для меня непостижим
0
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
13.10.2020, 19:15
niramirus, пока не будем знать основные затрагиваемые столбцы (а ещё лучше - таблицы БД) и суть изменений - помочь не сможем.
SQL придется постигать, он лучше ADOTable.Post.
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
13.10.2020, 20:04
Цитата Сообщение от niramirus Посмотреть сообщение
есть необходимость одной кнопкой внести изменения в обе таблицы.
Пстановка вопроса подразумевает, что ты умеешь одной кнопкой вносить изменения в одну таблицу, а второй - в другую. Тогда какие проблемы сделать это одной продпрограммой?

Совет насчёт изучения sql - правильный. Лучше с самого начала его изучать, чем набить шишки с методами визуальных контролов и в итоге отправиться таки изучать sql
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2020, 20:04
Помогаю со студенческими работами здесь

Ввод данных одной кнопкой в несколько эдитов (Квадратное уравнение)
Здравствуйте, не подскажете как реализовать следующее. Есть калькулятор для решения квадратных уравнений, в нём 3 поля Edit для ввода...

Создание нескольких кривых одной кнопкой(при изменении параметров)
Здравствуйте. Имеется вот такое чудо: unit Lab6; interface uses Windows, Messages, SysUtils, Variants, Classes,...

Как очистить данные из таблицы одной кнопкой
Здравствуйте, помогите пожалуйста разобраться. Имеется БД на MS Access, в ней есть три таблицы. Есть приложение на Delphi, в котором данные...

Подскажите как изменить цвет формы кнопкой
Подскажите, люди добрые, как написать в лазарусе такую кнопку при нажатии на которую цвет формы менялся бы на случайный

Как очистить image1 и выполнить заливку одной кнопкой?
Как очистить image1 и выполнить заливку одной кнопкой?


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru