SQL Server УСТАНОВИЛ объем DATEFIRST

Андраху был на правильном пути с определением обработчика. Если у вас есть обработчик, который вызывает ваши функции обновления, вы можете просто задержать сообщение , отправленное обработчику, на 10 секунд.

Таким образом, вам не нужно запускать собственный поток или что-то подобное, что приведет к странным ошибкам, проблемам отладки и обслуживания.

Просто позвоните:

 Handler myHandler = new MyUpdateHandler(GUI to refresh); <- You need to define a own handler that simply calls a update function on your gui.
 myHandler.sendMessageDelayed(message, 10000);

Теперь ваша функция handleMessage будет вызываться через 10 секунд. Вы можете просто отправить другое сообщение в вашей функции обновления, заставляя весь цикл повторяться снова и снова

6
задан Andomar 19 May 2009 в 20:50
поделиться

2 ответа

@@ DATEFIRST является локальным для вашего сеанса. Вы можете проверить это, открыв вкладки в Sql Server Management Studio (SSMS). Выполните этот код на первой вкладке:

 SET DATEFIRST 5

И убедитесь, что он не влияет на другую вкладку:

select @@datefirst

См. Эту статью MSDN .

17
ответ дан 8 December 2019 в 12:22
поделиться

Еще одно замечание: если вы не хотите устанавливать DATEFIRST, вы можете просто включить значение DATEFIRST в свой запрос, чтобы найти требуемый день как:

    SELECT (datepart(dw,ADateTimeColumn) + @@DATEFIRST) % 7)  as 'MondayBasedDate'
    , ...
    FROM famousShipwrecks --

Тогда вам вообще не нужно беспокоиться о его восстановлении!

2
ответ дан 8 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: