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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2013, 08:47   #1
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию datetimepicker sql server insert

Доброго всем дня, прошу объяснить причину того, что при добавлении (insert) данных (datetimepiker) в базу, дата меняется, т.е. если дата 2013-04-26 то в базе (sql server) оно 1905-06-07. интереснее в том что если запрос выполняется в самом sql-е никаких проблем нет, а вот если через делфи то такая вот ситуация. Ваши мнения....
МирзоАкмал вне форума Ответить с цитированием
Старый 08.05.2013, 09:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как добавляешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2013, 10:16   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Ваши мнения....
Мое мнение, что дело в коде, который в Дельфях. Показывайте
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 08.05.2013, 10:19   #4
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А как добавляешь?
Таким образом
dt:=DateToStr(DateTimePicker1.date) ;
dt0:=DateToStr(DateTimePicker2.date );
dt1:=RightStr(dt,4)+'-'+MidStr(dt,4,2)+'-'+LeftStr(dt,2);
dt2:=RightStr(dt0,4)+'-'+MidStr(dt0,4,2)+'-'+LeftStr(dt0,2);

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into header (tip_zapisi,kod_f_ins,otch_date,dat e_form,kod_sv_s_is) values ('''+'h'+''','''+E_kod.Text+''','+d t1+','+dt2+','''+E_kod_sv.Text+''') ');
ADOQuery1.ExecSQL;
МирзоАкмал вне форума Ответить с цитированием
Старый 08.05.2013, 10:23   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

тут удивительно что что-то еще и вставилось..
eval вне форума Ответить с цитированием
Старый 08.05.2013, 10:36   #6
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
тут удивительно что что-то еще и вставилось..
проверял таким образом
ShowMessage(dt1);
вроде все правильно, но после записи дата становится другой
МирзоАкмал вне форума Ответить с цитированием
Старый 08.05.2013, 10:49   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

не может быть правильно, правильно это когда параметры использовать
eval вне форума Ответить с цитированием
Старый 08.05.2013, 10:58   #8
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
не может быть правильно, правильно это когда параметры использовать
Какие параметры?
МирзоАкмал вне форума Ответить с цитированием
Старый 08.05.2013, 11:15   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Какие параметры?
Параметры запроса, через которые в запрос передаются значения. На примере поискового запроса:

Код:
query1.parambyname('dat').Value:=DateTimePicker1.date;
query1.sql.text:='select * from table where dat=:dat';
query1.open;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 08.05.2013, 11:19   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Просто присваивать DateTimePicker1.date не прокатит - время еще влезет. Обычно так:
Код:
var t: TDateTime;

t:=Trunc(DateTimePicker1.date);
AdoQuery1.Parameters.ParamByName('dat').Value:=t;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL + Datetimepicker Marina8 Помощь студентам 8 22.04.2012 17:47
DateTimePicker и SQL запрос SlavyanD БД в Delphi 5 25.11.2011 10:10
Web server и SQL server - администрирование Zak Ysmila Общие вопросы .NET 1 02.06.2011 19:29
sql server+delph,при попытке сохранить базу в дельфи выдает ошибку adotable dataset not in edit or insert betirsolt БД в Delphi 3 07.05.2010 21:44
Доступ к БД (SQL server) в ОС Windows server 2003 Mann SQL, базы данных 2 07.12.2008 19:15