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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 22:28   #1
vladislav_m
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 62
По умолчанию datetimepicker запись в бд

Ребят, почему значение с datetimepicker не хочет вноситься в БД?
вот сам запрос

Код:
form5.adotable1.insert;
form5.ADOTable1.FieldByName('Дата заселения').AsDateTime:=DateTimePicker2.Date;
form5.ADOTable1.UpdateRecord;
vladislav_m вне форума Ответить с цитированием
Старый 03.04.2011, 22:33   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

1. Есть ли поле 'Дата заселения'?
2. Имеет ли оно тип DateTime?
3. Почему ADOTable1.UpdateRecord, а не ADOTable1.Post?
4. form5. - это избыточность кода или вызов с другого юнита?
+
5. Почему ADOTable1.Insert, а не ADOTable1.Append?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.04.2011, 22:43   #3
vladislav_m
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 62
По умолчанию

1. Есть
2. Да имеет
3. Потому что так привык... Остальные записи добавляются норм, кроме этой..
4. в delphi новичок, не понимаю..
5. ответ в п.3.))


при добавлении выскакивает ошибка "exception class EconvertError with message "" is not a valid integer value' Process stopped.... "
vladislav_m вне форума Ответить с цитированием
Старый 04.04.2011, 00:52   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
is not a valid integer value' Process stopped.... "
Скорее всего тип поля не DateTime, а Integer
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.04.2011, 07:54   #5
vladislav_m
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 62
По умолчанию

в sql 3 поля четко выставлены datetime
vladislav_m вне форума Ответить с цитированием
Старый 04.04.2011, 08:34   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Возможна ошибка вываливается в каком-то из обработчиков событий ADOTable1 (если они есть естественно) выполняющихся в процессе редактирования.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 04.04.2011, 08:41   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

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

Или, срабатывает какое-то событие, привязанное к ADOTable1 (например, на AfterPost...)


к сожалению, без тестовой БД и исходников проекта все предположения будут гаданием на кофейной гуще...


Аватар, +1
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.04.2011, 10:18   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Формат даты DateTimePicker приведите к формату БД (кстати неплохо было бы указать - какую БД используете)
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 04.04.2011, 10:47   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Sparkman
Формат даты DateTimePicker приведите к формату БД
Sparkman, я с Вашим советом категорически не согласен!

Цитата:
Код:
).AsDateTime:=DateTimePicker2.Date;
никаких приведения форматов. Дата передаётся в формате даты!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.04.2011, 10:57   #10
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Sparkman, я с Вашим советом категорически не согласен!


никаких приведения форматов. Дата передаётся в формате даты!
но в таком случае поле БД приводится в формат даты и ему присваивается значение даты, а должно быть наоборот.

ТС даже пишет
Цитата:
is not a valid integer value
, что означает что в базе у него формат даты по другому настроен и ему нужно привести формат системной даты (которую дергает Делфи) в формат БД (или клиента).

пс: это все равно что иметь такую запись
Код:
var s:string;
strtodate(s) := Date;
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись даных с DateTimePicker в Еdit amator_roma БД в Delphi 2 01.12.2010 22:05
DateTimePicker Delphi GAGARIN-NEW Помощь студентам 7 06.12.2007 15:23
Вопросы DateTimePicker Askat БД в Delphi 14 29.06.2007 18:53