Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

установка формата даты   Найти похожие ветки 

 
WellSlava   (2004-11-26 14:13) [0]

В MS SQL устанавливаю формат даты:
Set DateFomat dmy... пишет, что все выполнено, пытаюсь вводить данные в этом формате - ошибка преобразования... Select выдает тоже в старом формате. что это может быть?


 
Fay ©   (2004-11-26 14:18) [1]

BOL->convert


 
WellSlava   (2004-11-26 14:24) [2]

нет.. зачем мне конвертить. Мне надо настроить так как мне надо. Или MS SQL этого не умеет делать? Я просто с ним общаюсь всего неделю.


 
Fay ©   (2004-11-26 14:33) [3]

Вы, видимо, не очень хорошо представляете себе, что такое "отображение данных". Формат самой даты не имеет ничего общего с тем, что Вы хотите увидеть на экране.


 
Anatoly Podgoretsky ©   (2004-11-26 14:56) [4]

Зависит от того где вводишь, это же не действует глобально. Если надо другой формат, глобального действия то нужно установить сервер с нуля, если для отдельного пользователя, то надо ему установить формат, если для сессия, то тоже в соответственно. А твой вопрос некорректо поставлен, поскольку неизвестно где ты это делаешь и в каком контексте.


 
WellSlava   (2004-11-26 15:36) [5]

иными словами на клиенте я в соответствующий параметр записываю дату в нашем родном формате - "25.11.2004". Выдает ошибку "Syntax error converting datetime from character string."


 
paul_k ©   (2004-11-26 15:44) [6]

на клиенте где?
образец такого присваивания можно?
сервер справедливо пишет что полю типа datetime ты пыитаешся присвоить символьное значение.


 
Ega23 ©   (2004-11-26 17:09) [7]

WellSlava   (26.11.04 15:36) [5]

DateTimeToString(aDate,""{ts""" yyyy-mm-dd hh:nn:ss""" }"",i);


 
Fay ©   (2004-11-26 21:51) [8]

2 WellSlava   (26.11.04 15:36) [5]
Пиши в его родном формате - "20041125"


 
WellSlava   (2004-11-28 19:42) [9]

код:
 qModify.ParamByName("Begin_Date").asDate := edtDate.Date;

и вот на это ругается...


 
WellSlava   (2004-11-28 19:44) [10]

а формат даты (dmy) нужен на всю базу данных...
Как его установить?


 
Term   (2004-11-28 20:21) [11]


> Set DateFomat dmy...

кажется это нужно указывать в каждом запросе, так как эта установка действует для конкретного запроса


 
paul_k ©   (2004-11-28 20:26) [12]

Не знаю, может я не прав, но в таких случаях пишу иначе
var
str: TStrings;
DSep : char;
..............................
dSep:=DateSeparator;
DateSeparator:="/";
str:=qXXX.SQL;
qXXX.SQL.Text:="Update Table"+#13+
              " set bDate = convert(datetime,"+QuotedStr(FormatDateTime("dd/mm/yy", Now))+",3)"+#13+
              "where bla bla bla" ;
qXXX.ExecSQL;
qXXX.SQL:=str;
DateSeparator:=dSep;


Но чаще все изменения делаю в хранимых процедурах. Параметром передаю строку даты в третьем формате (дд/мм/гг) и уже в процедуре перевожу в datetime


 
sniknik ©   (2004-11-28 20:55) [13]

> и уже в процедуре перевожу в datetime
"замечательная" идеология! ;) перевести дату в строку чтобы после перевести в дату...

> код:
>  qModify.ParamByName("Begin_Date").asDate := edtDate.Date;

> и вот на это ругается...
подозреваю что на несоответствие типов... (ну тут уж, сам спутал - сам дурак)... а так, идея верная.

> а формат даты (dmy) нужен на всю базу данных...
> Как его установить?
именно так как у тебя в вопросе...
только ошибку ты скорее всего еще в дельфях получаеш, т.к. формат  отображения/преобразований даты из строки в MSSQL может не совпадать с дельфевым...
да и не нужно это, оперируй датами а не их образами в строке.


 
paul_k ©   (2004-11-29 11:57) [14]

sniknik ©   (28.11.04 20:55) [13]

>> и уже в процедуре перевожу в datetime
> "замечательная" идеология! ;) перевести дату в строку
> чтобы после перевести в дату...

Да нет.. Усер вводит тоже в строке по 3-му формату.
Преобразования приведены применительно к данному примеру.


 
sniknik ©   (2004-11-29 13:40) [15]

в примере ты из Now (дататайм) делаеш строку, а даже если и ввод строкой, не лутше ли преобразовать на месте на клиенте с полным контролем а не посылать на сервер вероятно неверную строчку? (ну ошибся юзер, с кем не бывает)



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
3-1101388631
Bless
2004-11-25 16:17
2004.12.26
q.FilterGroup:=fgPredicate Как этим пользоваться?


1-1102562115
SnapIn
2004-12-09 06:15
2004.12.26
Мой метод Create скрывает виртуальный метод базового класса...


1-1102888330
Bobby Digital
2004-12-13 00:52
2004.12.26
Цвет


14-1101983506
Ega23
2004-12-02 13:31
2004.12.26
Сахарный диабет


9-1093136923
Xerx
2004-08-22 05:08
2004.12.26
Аналог Blitz3D