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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2016, 16:09   #31
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Таблица Oborudovanie:
OborudovanieID
ZavodID
[№ п/п]
[Наименование единицы]
[Оперативный номер]
[Тип оборудования]
[Заводской номер]
[Технические характеристики]
[Год выпуска]
[Дата замеров]
[Техническое состояние]
[Дата следующих замеров]
[Фото]
[Адрес фото]

Таблица Notification:
OborudovanieID
ZavodID
[№ п/п]
Организация
[Структурное подразделение]
[Наименование единицы]
[Оперативный номер]
[Тип оборудования]
[Заводской номер]
[Технические характеристики]
[Год выпуска]
[Дата замеров]
[Техническое состояние]
[Дата следующих замеров]
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 16:25   #32
Adamrus
Пользователь
 
Аватар для Adamrus
 
Регистрация: 26.11.2009
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
Таблица Oborudovanie:
OborudovanieID
ZavodID
[№ п/п]
[Наименование единицы]
[Оперативный номер]
[Тип оборудования]
[Заводской номер]
[Технические характеристики]
[Год выпуска]
[Дата замеров]
[Техническое состояние]
[Дата следующих замеров]
[Фото]
[Адрес фото]

Таблица Notification:
OborudovanieID
ZavodID
[№ п/п]
Организация
[Структурное подразделение]
[Наименование единицы]
[Оперативный номер]
[Тип оборудования]
[Заводской номер]
[Технические характеристики]
[Год выпуска]
[Дата замеров]
[Техническое состояние]
[Дата следующих замеров]

Воооот. Структура таблиц не совпадает, поэтому если делать INSERT, надо указывать в какие поля какие значения вставлять.

При UPDATE в принципе тоже самое, надо указывать какое поле обновлять при каком условии (какую запись, записи)
Adamrus вне форума Ответить с цитированием
Старый 29.02.2016, 16:28   #33
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

evg_m, от отчаяния
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 16:29   #34
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Adamrus, подскажите как сделать, я уже не знаю, я столько сайтов перерыл, а не продвинулся ни на шаг.
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 17:09   #35
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

таблица Notification должна состоять из двух полей
Notify_ID (primary key, AUTO_INCREMENT) и поля - ссылки на таблицу оборудования
OborudovanieID

остальные поля (при необходимости) можно и нужно получать из таблицы Oborudovanie

Это при условии, что таблица Notification вообще нужна!!
Вместо неё можно сделать вьюшку и вообще не нужно будет вставлять записи, потом их удалять, поддерживать целостность и т.д. и т.п.


p.s. кстати, почему у Вас таблицы и некоторые поля называются латиницей, а некоторые - по русски, да ещё и с пробелами?.. Пытаетесь наступить на грабли или просто любите экстрим и адреналин?!

Последний раз редактировалось Serge_Bliznykov; 29.02.2016 в 17:12.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.02.2016, 17:25   #36
Adamrus
Пользователь
 
Аватар для Adamrus
 
Регистрация: 26.11.2009
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
Adamrus, подскажите как сделать, я уже не знаю, я столько сайтов перерыл, а не продвинулся ни на шаг.
тогда начнем сначала, ок? Так сказать с ТЗ.
*пишу всё исходя из запроса, который ты пытаешься написать*

1. есть таблица Notification, в нее мы хотим вставить/обновить запись, взяв некоторые данные из таблицы Oborudovanie

2. поля на 100% в таблицах не совпадают, значит нам надо указать какие поля вставлять/обновлять и какими значениями из таблицы Oborudovanie по условию, в твоем случае ДАТА




I. Кинь на форму еще 2 квери.
первый для инсерта, второй для апдейта, третий для отображения.
свойство NAME исправь на, например, Q_Insert Q_Update Q_Select
тупо чтобы не запутаться.

II. в Q_Select в свойство SQL сразу пропиши
Код:
select * from Notification
и пихай в дбгрид или куда то еще в визуальные компоненты

III. В Q_INSERT пишем


Код:
INSERT into Notification TBL_1 (
[OborudovanieID],
[ZavodID],
[№ п/п],
[Структурное подразделение],
[Наименование единицы],
[Оперативный номер],
[Тип оборудования],
[Заводской номер],
[Технические характеристики],
[Год выпуска],
[Дата замеров],
[Техническое состояние],
[Дата следующих замеров])

SELECT 
[OborudovanieID],
[ZavodID],
[№ п/п],
[Наименование единицы],
[Оперативный номер],
[Тип оборудования],
[Заводской номер],
[Технические характеристики]
[Год выпуска],
[Дата замеров],
[Техническое состояние],
[Дата следующих замеров]
FROM Oborudovanie TBL_2


WHERE
(TBL_1.[Дата следующих замеров] > :d2 and TBL_1.[Дата следующих замеров] <:d1)
SQL запрос набросал прямо здесь в форме ответа, поэтому возможно надо допилить. Если я вообще правильно понял, что нужно сделать


Тебе надо уловить 1 ОСНОВНУЮ идею, кол-во и порядок полей В ВСТАВЛЯЕМУЮ таблицу должны совпадать с таблицей, из которой идет СЕЛЕКТ (выборка)
IV. про UPDATE чуть позже напишу, надо бежать по делам

Последний раз редактировалось Adamrus; 29.02.2016 в 17:32.
Adamrus вне форума Ответить с цитированием
Старый 29.02.2016, 17:28   #37
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Только values не нужно в insert ... select
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.02.2016, 17:32   #38
Adamrus
Пользователь
 
Аватар для Adamrus
 
Регистрация: 26.11.2009
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Только values не нужно в insert ... select
ок, исправил

вообще на сколько понимаю, это таблица хранит даты следующих поверок каких-нибудь приборов учета воды, тепла, э/э и т.д. и т.п.

Тогда не надо дублировать кучу полей..... как тут уже правильно написали, надо сделать связанную таблицу по какому-либо ID и, действительно как вариант смотреть потом вьюшку.

Последний раз редактировалось Аватар; 29.02.2016 в 19:08.
Adamrus вне форума Ответить с цитированием
Старый 29.02.2016, 18:08   #39
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Спасибо большое товарищи)
Решил по-другому сделать, не получается через запрос
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 19:48   #40
Adamrus
Пользователь
 
Аватар для Adamrus
 
Регистрация: 26.11.2009
Сообщений: 59
По умолчанию

ну, нельзя так сдаваться быстро....
Adamrus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS SQL SERVER 2005 копирование таблицы из ОДНОЙ БД В другую или перенести все строки из одной таблицы в другую reihtmonbern БД в Delphi 4 17.07.2012 23:25
копирование ячеек из одной книги в другую по условию troyam Microsoft Office Excel 2 22.03.2012 15:17
Копирование записей из одной таблицы в другую rockedit БД в Delphi 4 10.12.2009 21:39
Копирование записей из одной DBF таблицы в другую ИВэТэшка БД в Delphi 0 20.03.2009 22:37
Копирование данных из одной таблицы в другую! фЁдОр БД в Delphi 18 06.01.2008 19:27