![]() |
|
|
![]()
|
|
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Здраствуйте ! я уже вроде подобное писал! Но возник вопрос! дела в том ,что в MS SQL в поле DayDate дата храниться как integer (38123), соответсвует какому-то дню. Вопрос такой: надо чтобы пользователь на TdateTimePicker выбрал дату и исполнил запрос. Как это сделать не знаю/
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 1 Всего: 98 |
это в БД нужно спрашивать...
или давай формат хранения. и что такое integer (38123)? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Это 38123 -дата в закодированом виде. Имеет тип integer |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 1 Всего: 98 |
это, конечно, хорошо, что дата, но это был добавочный вопрос.
а основной -- ее формат. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 2 Всего: 484 |
Загляни в дельфи и БД. Там на днях пробегал вопрос про формат даты.
|
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: нет Всего: 76 |
Berliner
на сколько помню в MSSQL-е тип Date тотже Double и ты без проблем можешь значение Date из Pickera сохранять. Только отличие есть в +- 1 день (непомню в какую сторону, и незнаю зачем...). -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 1 Всего: 98 |
потому что борланд считает дату с 12/30/1899 ( зачем -- не понятно ( может праздник был... ) )
а МС -- по-нормальному -- с January 1, 1601. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 17 Всего: 162 |
передавайте дату через параметры и проблем быть не должно
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
например ?
|
|||
|
||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Я не знаю как вставить код в моем примере чтобы значение даты в запросе с пикера цеплялолось. Подскажите пожалуста!
|
|||
|
||||
| yudem |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 21.9.2005 Репутация: нет Всего: нет |
я делаю так..
date:string; date:=datetostr(TdatatimePicker.date); а в sql-запросе ('select * from Table where field=date'); |
|||
|
||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
ну вся продлма в том что дата в таблице на сервере имеет вид 37853 (числа)
|
|||
|
||||
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
А как это число получается? |
|||
|
||||
| Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Не проще ли в нормальном виде хранить?
|
|||
|
||||
| Berliner |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
база данных разработана другими программистами! И они вносят єто число вместо даты.
|
||||
|
|||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Я вроде придумал выход!
думаю сделать так: с помощью dayadd приобразовать данное поле поле к нормальному "виду"(сделаю еще одну таблицу)- подскажите, а к какому виду лучше преобразовать как дату (хранить в каком виде лучше) чтобы можно было вызвать из хранимой процедуры или исполнить запрос. |
|||
|
||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Не ,такой выход нежалатедьный -создавать таблицу! Надо всетаки конвертнуть дату в нормальный вид
|
|||
|
||||
| Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Надо определить, как это число получается, если дата преобразуется в него. Тогда и проблем не будет
|
|||
|
||||
| Vet |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
А собственно, в чем проблема-то? Если в базе хранится количество дней, прошедших после определенной даты, то
Вот он, твой integer. Если же читаешь дату из базы как целое число, то можно ее преобразовать в нормальный вид
Это из DateUtils |
||||
|
|||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Вот что мне выслали разработчики базы данной как это прикрутить к моему запросу?
я так понял что одна функция для перекодировки даты из числа в дату а другая из даты в число |
|||
|
||||
| Vet |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Правильно К запросу:
Из запроса:
|
||||||
|
|||||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Спасибо работает!
Вот только не пойму смысл этого кода! |
|||
|
||||
| Vet |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Зачем прибавлять и отнимать 2 - это надо спросить у разработчиков. А насчет функции - от переменной типа TDateTime берется целая часть, т.е. количество дней и округляется. Можно было сделать проще:
|
||||
|
|||||
| Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
|
|||
|
||||
| Vet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 24.2.2005 Репутация: нет Всего: нет |
Ну если ты базу используешь только в своей проге, то смысла в этих преобразованиях никакого. При записи в БД из даты вычел 2, при чтении прибавил 2. И ничего не изменилось
|
|||
|
||||
| НурболКазбеков |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 21.10.2005 Репутация: нет Всего: нет |
Подскажите, пожалуйста, Как в Delphi c помощью Word-а (WordDocument или WordApplication) просмотреть doc-файлы, которые хранятся в блоб-полях
|
|||
|
||||
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
http://forum.vingrad.ru/index.php?showtopic=67193&st=15 |
|||
|
||||
| НурболКазбеков |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 21.10.2005 Репутация: нет Всего: нет |
kirilllius Спасибо большое,, ты мне помог. Все отлично.
Но появилась еще одна проблема. Мне надо открывать вордовский документ с базы (с твоей помощью получилось), но когда я редактирую и закрываю документ, запрашивает о сохранении. Нажимаю Ок, но изменение нигде не сохраняется, ни в базе, ни в оригинале (в самом документе). |
|||
|
||||
| offline |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 474 Регистрация: 7.2.2005 Репутация: 7 Всего: 7 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |