Connector.DBEngine и региональный формат даты в БД
При выполнение скрипта, дата передаеться текстом (а могла бы безопасно через convert или cast):
автоматическая конвертация срабатывает относительно формата дефолтных настроек БД. Соотвественно в БД формат другой, запрос падает. Я могу как то указать для ExecuteCustomSQL, как правильно работать с датой? Очень не хочеться писать генерацию нужной строки с cast или convert.
Пример кода:
var ReturnParameter1 = Parameters.CreateItem();
ReturnParameter1.Name = 'ReleaseID';
ReturnParameter1.DataType = pdtGUID;
ReturnParameter1.Value = Dataset('ID');
Parameters.Add(ReturnParameter1);
Connector.DBEngine.ExecuteCustomSQL("update [vw_ChangeRequest] set StatusID = '{06DF639B-AC5D-48DF-88EE-EFD0369E80D3}' where ReleaseID = :ReleaseID",Parameters);
Нравится
Как то странно работают функции получить день и месяц(24 сентября плавно превращаеться во 2 августа):
Почему?
"Борисов Михаил Евгеньевич" написал:Почему?
Добрый день!
getDay() возвращает целое число, обозначающее день недели: 0 - воскресенье, 1 - понедельник, 2 - вторник, и т.д.
getMonth() возвращает целое число от 0 до 11. 0 соответствует январю, 1 - февралю, и т.д.
Спасибо. А по Connector.DBEngine и региональным стандартам не подскажете как быть? Функцию я дописал, которая меня будет экронировать от настроек БД, но как то это некрасиво.
P.S. я очень люблю JS, я очень люблю JS, я не люблю C#, я не люблю C# он слишком логичен, в нем день недели DayWeak, это ж так каждый поймет что там лежит
В общем сделал так:
function GetSQLDate(Data) { Result="convert(datetime,'"+(Data.getUTCDate()+1)+'.'+(Data.getMonth()+1)+'.'+Data.getFullYear()+"',104)"; return Result; }
И способ использования велосипеда:
var EstimatedReleaseDate= GetSQLDate(new Date(Dataset('EstimatedReleaseDate'))); Connector.DBEngine.ExecuteCustomSQL("update [vw_ChangeRequest] set EstimatedDueDate = "+EstimatedReleaseDate+" where ReleaseID = :ReleaseID",Parameters);
Здравствуйте, Михаил!
Попробуйте еще использовать функцию getVarDate() для получения даты в нужном формате.