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

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

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

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

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

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

Подскажите пожалуйста, никак не могу понять, по всякому делаю, постоянно ошибки вылезают разные
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 14:50   #22
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
var
date:TDateTime;
begin
DataModule2.ADOQuery4.Close;
DataModule2.ADOQuery4.SQL.Clear;
DataModule2.ADOQuery4.Parameters.ParamByName('d1').Value:=date;
DataModule2.ADOQuery4.Parameters.ParamByName('d2').Value:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
DataModule2.ADOQuery4.SQL.Add('insert into Notification(Дата следующих замеров) select [Дата следующих замеров] from Oborudovanie where [Дата следующих замеров] >:d2 and [Дата следующих замеров] <:d1');
DataModule2.ADOQuery4.ExecSQL;
DataModule2.ADOQuery4.SQL.Add('select * from Notification');
DataModule2.ADOQuery4.Open;
Цитата:
adoquery4: parametr 'd1' not found
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 15:20   #23
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Ernest027
То, что в #18 не вставка, а обновление записей. В sql - UPDATE. Insert для добавления новых записей. Прочувствуй разницу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.02.2016, 15:21   #24
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

забудем про #18.
Код:
var
date:TDateTime;
begin
date:=Now;
DataModule2.ADOQuery4.Close;
DataModule2.ADOQuery4.SQL.Clear;
DataModule2.ADOQuery4.SQL.Add('insert into Notification([Дата следующих замеров]) select [Дата следующих замеров] from Oborudovanie where ([Дата следующих замеров] >:d2 and [Дата следующих замеров] <:d1)');
DataModule2.ADOQuery4.Parameters.ParamByName('d1').Value:=FormatDateTime('dd.mm.yyyy', Date);
DataModule2.ADOQuery4.Parameters.ParamByName('d2').Value:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
DataModule2.ADOQuery4.ExecSQL;
DataModule2.ADOQuery4.SQL.Add('select * from Notification');
DataModule2.ADOQuery4.Open;
так тоже не работает.
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 15:23   #25
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну если забудем, то почитай про синтаксис Insert-а
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.02.2016, 15:25   #26
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

http://www.w3schools.com/sql/sql_insert_into_select.aspделал по этому подобию, что неправильно?
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 15:30   #27
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это не синтаксис, а пример использования при полном совпадении полей в обеих таблицах

https://msdn.microsoft.com/en-us/library/ms174335.aspx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.02.2016, 15:52   #28
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
var
date:TDateTime;
begin
date:=Now;
DataModule2.ADOQuery4.Close;
DataModule2.ADOQuery4.SQL.Clear;
DataModule2.ADOQuery4.SQL.Add('insert into Notification([Дата следующих замеров])');
DataModule2.ADOQuery4.SQL.Add('values (d1,d2,(select [Дата следующих замеров] from Oborudovanie');
DataModule2.ADOQuery4.SQL.Add('where ([Дата следующих замеров] >:d2 and [Дата следующих замеров] <:d1)))');
DataModule2.ADOQuery4.Parameters.ParamByName('d1').Value:=date;
DataModule2.ADOQuery4.Parameters.ParamByName('d2').Value:=DataModule2.ADOQuery3.FieldByName('Дата следующих замеров').AsDateTime;
DataModule2.ADOQuery4.ExecSQL;
DataModule2.ADOQuery4.SQL.Add('select * from Notification');
DataModule2.ADOQuery4.Open;
все равно не хочет
Цитата:
недопустимое имя столбца d1
Ernest027 вне форума Ответить с цитированием
Старый 29.02.2016, 16:01   #29
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

почему(каким образом) ЭТОТ запрос
Код:
insert into Notification([Дата следующих замеров]) 
select [Дата следующих замеров] from Oborudovanie where ([Дата следующих замеров] >:d2 and [Дата следующих замеров] <:d1
превратился в ТАКОЕ
Код:
insert into Notification([Дата следующих замеров])
values (d1,d2,(select [Дата следующих замеров] from Oborudovanie
where ([Дата следующих замеров] >:d2 and [Дата следующих замеров] <:d1)))
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 29.02.2016, 16:05   #30
Adamrus
Пользователь
 
Аватар для Adamrus
 
Регистрация: 26.11.2009
Сообщений: 59
По умолчанию

ТС, просто напиши сюда структуру таблиц
Notification
Oborudovanie


нам тогда ЛЕГЧЕ будет помочь!
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