Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 13:27   #1
lyle_200490
Пользователь
 
Регистрация: 19.11.2010
Сообщений: 21
По умолчанию Добавление/редактирование из нескольких таблиц, если для отображения используется Query

Здравствуйте еще раз!

Вот допустим есть 3 таблицы:

Таблица 1 TASK
id_t - автоинкримент
task_ - строка(20)
From_ - integer (значения берутся из 2й таблицы)
Send_ - integer (значения берутся из 2й таблицы)
dat_b_ - date
dat_e_ - date
mark - integer (значения берутся из 3й таблицы)

Таблица 2 FIO
id_f - автоинкримент
FIO_ - строка(20)

Таблица 3 Mark
id_m - автоинкримент
mark_ - строка(15)

Заполнение
Таблица 1 TASK
1 Задача1 1 2 27-11-2010 29-11-2010 1
2 Задача2 1 2 28-11-2010 29-11-2010 1
3 Задача3 1 3 25-11-2010 30-11-2010 1
4 Задача4 2 4 27-11-2010 27-11-2010 1
5 Задача5 2 4 15-11-2010 18-11-2010 1

Таблица 2 FIO
1 Иванов
2 Петров
3 Сидоров
4 Полежайкин

Таблица 3 Mark
1 Не выполнено
2 Выполнено

Есть Query запрос
Select task.task_, task.dat_b_, task.dat_e_, mark.mark_
from task, fio, mark
where (task.From_=fio.id_f and task.mark=mark.mark_)
and (task.From_=2)

Получилось
Задача4 27-11-2010 27-11-2010 Не выполнено
Задача5 15-11-2010 18-11-2010 Не выполнено

База MySQL
Связь База <-> Connection <-> Query <-> DataSourse <-> DBGridEh

Вот допустим выделить запись в DBGridEh, нажать кнопку, запускалась форма на которой присутствует
DBEditEh - для поля Задача
DBLookupComboboxEh - для поля From_
DBLookupComboboxEh1 - для поля Send_
DBDateTimeEditEh - для поля dat_b_
DBDateTimeEditEh1 - для поля dat_e_
DBCheckBoxEh - для поля mark

(Компоненты связваются через DataSourse)

поля заполнялись в них соответсвенно, допустим что то отредактировал, нужно сохранить, чтоб сохранилось в базе и отобразились изменения в запросе.
Также нужно сделать добавление с такой же формой.

DBLookupComboboxEh, DBLookupComboboxEh1 - заполняются из Tableи Table1

Подскажите как это реализовать? Можно с примером кода (что и куда писать).
Есть еще UpdateSQL на форме. В Query.SQL или Update.SQL писать? Или бросить Table и работать с ней уже (с ней знаю как). Но это будет только добавление, а как же отредактировать?
Как данные вытащить из различных компонент для сохранения в таблицы.


PS Извините за много слов, но просто сдача висит на носу а последнее что осталось не знаю как реализовать.

Или подскажите как лучше реализовать с данными условиями.
lyle_200490 вне форума
Старый 28.11.2010, 15:02   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ну вот, закрыли... Почему ???
Придется прочесть правила раздела !
mihali4 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какой компонент используется для отображения времени по таблице с привязкой к дате по календарю Cooler89 Общие вопросы Delphi 5 26.06.2015 08:39
Объеденение полей запроса в для отображения нескольких полей в одном списке mrCreator Microsoft Office Access 3 08.08.2009 00:53
Редактирование записи через компонент Query Macklay БД в Delphi 11 30.06.2009 12:16
редактирование Query photozaz БД в Delphi 3 10.11.2008 19:10