Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.137 c
4-1099505032
CAMCOH
2004-11-03 21:03
2004.12.26
Как программно проскролить текст в memo ?


1-1102497058
TUser
2004-12-08 12:10
2004.12.26
Одна консоль на двоих и много на одного


3-1101297075
Irina :)
2004-11-24 14:51
2004.12.26
InterBase


14-1102366856
VEG
2004-12-07 00:00
2004.12.26
Новый IE теперь блокирует скрипты с чужого хоста


4-1099902701
Андрей Н.
2004-11-08 11:31
2004.12.26
Задержка в программе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский