Member 13714562 Ответов: 2

Как установить интервальный таймер службы windows с помощью базы данных SQL server?


У меня есть служба windows, которая работает каждые 30 секунд. Но после установки я могу захотеть, чтобы он запускался каждые 2 минуты или 30 минут. Поэтому я хочу, чтобы сервис собирал интервальный таймер (время начала тоже. Мне действительно не нужно устанавливать время начала, но было бы полезно знать) из базы данных SQL server. Я не хочу устанавливать его с помощью app.config, но это был бы мой последний вариант, если бы я не получил решение для этого.

Я знаю это логически, поэтому предпочел бы, чтобы вы помогли мне в том, как это закодировать.
Любая ссылка на этот тип проекта также будет оценена по достоинству.

Что я уже пробовал:

Я знаю строку подключения
con = new SqlConnection("server=servername; database=databasename;uid=username; password=password");

Чего я не знаю, так это как присвоить переменной только последнее обновленное значение.
Например, если я запрошу вот так
string sQuery = "Select IntervalTime from Intervals"
Это дало бы все интервальные вейлы в таблице. Но я хочу, чтобы было присвоено только последнее вставленное значение.

2 Ответов

Рейтинг:
2

Wendelius

Если я правильно понял вопрос, проблема заключается в извлечении данных из базы данных. Если это так, то есть довольно много статей с различными видами примеров, охватывающих различные виды ситуаций. Например, взгляните на Правильное выполнение операций с базой данных[^]. Что касается строки подключения, вы можете сохранить ее в файле app.config или в любом другом месте, где это кажется разумным.


Member 13714562

Я не смог найти решение по вашей ссылке. Кроме того, я обновил свой вопрос.

Wendelius

Итак, проблема заключается в извлечении последнего значения. Попробуйте выполнить такой запрос, как

Select TOP(1) IntervalTime from Intervals ORDER BY IntervalTime DESC

Member 13714562

Я думаю, это может сработать. Проверим и увидим. Спасибо.

Рейтинг:
2

Christian Graus

app.config может иметь строку подключения. Вам нужно будет сделать вызов SQL, чтобы получить значение, которое вы хотите использовать для своего таймера


Member 13714562

Вы можете показать это с помощью кода. Как прочитать интервал времени в таблице и установить его в переменную?