Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi+ Ms SQL (вызов хран.проц.) по дате, дата в MS SQL 2000 в кодированном виде 
:(
    Опции темы
Berliner
Дата 14.7.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: нет
Всего: 2



В базе данных MS SQL 2000 дата храниться в таком виде 38510 - соответсвует 09 06 2005. как с помощью делфи вызвать хранимую процедуру?(параметр кодированая дата) Вся проблемма в том что пользователь указывает с(TMonthCaleder1) и по(TmonthCalender2) а в MS SQL 2000 надо передавать число. exec test 38510, 38921
Спасиб за ответ
PM   Вверх
Vit
Дата 14.7.2005, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Ну дык TDateTime - это real, где целая часть и есть число дней... Так и передавать...


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Berliner
Дата 15.7.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: нет
Всего: 2



хорошо! но пересенная TDateTime (9 июня 2005) будет иметь вид 38510?
Я думаю мы не поняли друг друга
PM   Вверх
Vit
Дата 15.7.2005, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Ну да, всё правильно...

Пусть у тебя будет поле MyDate, тогда обращаясь к нему у тебя:

MyQuery.fieldbyname('MyDate').asinteger - покажет 38510, а
MyQuery.fieldbyname('MyDate').asString - покажет "9 июня 2005"


И в базе данных и в Дельфи тип дата-время хранятся абсолютно одинаково! И там и там этот тип физически хранится и манипулируется как real (float) - где целая часть это число дней с какого-то там числа, по-моему с 30 декабря 1899 года, а дробная часть - это время, например 1/24 - это один час... А когда явно указываешь дату в ввиде например "10.1.2005" то сервер неявно её преобразовывает в тот же real и манипулирует всё равно real, а потом когда тебе показывает результат - то результат сервером или дельфи транслируется обратно из real в строку.

Есть только одно исключение в хранении даты-времени, под Linux дата смещена на 2 дня, там она считается с 1 января 1900 года


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
kobra
Дата 16.7.2005, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



чуть-чуть поправлю Vitа, в делфи (у борланда кажется везде так) чиллу 0 соответствует дата - 30.12.1899 00:00:00.000
а в MS SQL (у дяди била кажется везде так) - 01.01.1900 00:00:00.000
так что при работе из делфи с MS SQL ету разницу надо учитывать.
PM MAIL   Вверх
Berliner
Дата 17.7.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 18.5.2005

Репутация: нет
Всего: 2



Спасиб!
Вызвать хранимую процедуру(MSSQL 2000) где параметр дата из Делфи пользователь выбирает с помощью DateTimePicker
Правильно?
SQL.Add('exec proc MyProc, TDateTime');
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.