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

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

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

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

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

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

Всем привет.
Необходимо дату из одной таблицы добавить в другую таблицу.
Делаю так:
Код:
sql.Add('insert into Basket (OrganizationID,[Организация],ZavodID,');
  SQL.Add('[Структурное подразделение],OborudovanieID,[№ п/п],[Наименование единицы],');
  sql.Add('[Оперативный номер],[Тип оборудования],[Заводской номер],[Технические характеристики],');
  sql.Add('[Год выпуска],[Дата замеров],[Техническое состояние],[Дата следующих замеров],');
  SQL.Add('[Фото],[Адрес фото],[До следующих замеров осталось, дней])');
  SQL.Add('values (:a,:f,:b,:g,:c,:d,:h,:i,:j,:k,:l,:e,:q,:m,:r,:n,:o,:p)');
Объявляю параметры:
Код:
Parameters.ParamByName('q').Value:=
  DataModule2.ADOQuery3.FieldByName('Дата замеров').AsDateTime;
в этом случае, если в 1-ой таблице поле дата пустое, то во 2-ую таблицу идет дата 30.12.1899.
Как сделать так, чтобы если в первой таблице не было даты, то и во вторую ничего не вставлял?
Пытаюсь сделать по условию, что-то типа
Код:
if DataModule2.ADOQuery3.FieldByName('Дата замеров').AsDateTime<>0 then
  Parameters.ParamByName('q').Value:=
  DataModule2.ADOQuery3.FieldByName('Дата замеров').AsDateTime
  else
Parameters.ParamByName('q').Value:=???
Подскажите как сделать правильно.
Спасибо.

Последний раз редактировалось Ernest027; 05.07.2016 в 10:06.
Ernest027 вне форума Ответить с цитированием
Старый 05.07.2016, 10:16   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Parameters.ParamByName('q').Value:= UnAssigned; /// NULL; // EmptyParam;

Parameters.ParamByName('q').Value:= DataModule2.ADOQuery3.FieldByName(' Дата замеров').Value;

if DataModule2.ADOQuery3.FieldByName(' Дата замеров').IsNull then
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.07.2016 в 10:19.
evg_m вне форума Ответить с цитированием
Старый 05.07.2016, 10:36   #3
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
Parameters.ParamByName('q').Value:=
  DataModule2.ADOQuery3.FieldByName('Дата замеров').Value;
Код:
Parameters.ParamByName('q').Value:= UnAssigned; /// NULL; // EmptyParam;
Неправильно определен объект Параметр. Предоставлены несовместимые или неполные сведения
Ernest027 вне форума Ответить с цитированием
Старый 05.07.2016, 10:45   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

используйте другой вариант из предложенных.
; /// NULL; // EmptyParam;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.07.2016 в 10:50.
evg_m вне форума Ответить с цитированием
Старый 05.07.2016, 10:48   #5
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
Parameters.ParamByName('q').Value:= UnAssigned
Parameters.ParamByName('q').Value:= Null
Parameters.ParamByName('q').Value:= emptyparam
все пробовал, пишет "Неправильно определен объект Параметр. Предоставлены несовместимые или неполные сведения"
Ernest027 вне форума Ответить с цитированием
Старый 05.07.2016, 10:52   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

; .

так может это поле (соответствующее параметру q) и не может принимать пустое значение (NOT NULL) ?
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.07.2016 в 10:57.
evg_m вне форума Ответить с цитированием
Старый 05.07.2016, 11:02   #7
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
так может это поле (соответствующее параметру q) и не может принимать пустое значение (NOT NULL) ?
проверил, поле может принимать значение Null.
Ernest027 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи в таблицу через таблицу Anton911 БД в Delphi 0 14.05.2012 11:51
Добавление даты в БД (TDateEdit) DimOn4Ik БД в Delphi 20 15.04.2010 06:17
Добавление даты Mutagena Помощь студентам 8 24.12.2009 13:13
из DBLoockupcobobox в таблицу с новым форматом даты Droid БД в Delphi 0 11.12.2009 09:24
Добавление даты в таблицу smoky Microsoft Office Access 5 24.11.2008 12:56