Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.039 c
14-1102510077
chelovek
2004-12-08 15:47
2004.12.26
Интересно?


1-1102620522
SergP
2004-12-09 22:28
2004.12.26
Есть ли функции для преобразования строки в множество?


14-1102076441
easy
2004-12-03 15:20
2004.12.26
Alphablend


3-1101220850
msguns
2004-11-23 17:40
2004.12.26
ADO+Access. Настройка на клиенте


14-1101982898
infom
2004-12-02 13:21
2004.12.26
Посоветуйте хороший Русско <-> Украинский пеерводчик !!!




   Наверх