Как обновить базу данных Access в определенное время в Vb.net - PullRequest
0 голосов
/ 08 ноября 2011

Я хотел бы обновить базу данных Access в определенное время.

Например:

У меня начальная дата = 08.11.2011, 8:00.

Я хочу обновить базу данных, когда DateTime.Now = Startdatetime.AddMinutes(30)

Как мне это сделать в Vb.net?

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

Примечание: это утверждение будет в цикле, потому что я буду обновлять, например, For i = 1 to n

Любая помощь будет оценена

Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

Если вы уже в цикле, это довольно просто:

Dim dtLastUpdated As DateTime = DateTime.Now

For i = 1 To n

  ' Test the 
  If DateTime.Now.Subtract(dtLastUpdated).TotalMinutes >= 30 Then
      ' Record the new time
      dtLastUpdated = Date.Now

      ' Update your database
  End If

Next
0 голосов
/ 08 ноября 2011

"Я думал об использовании таймера, но я не уверен, как обновить базу данных, когда таймер остановится."

Когда таймер истекает, вы хотите предпринять какие-то действия. Это фундаментальная причина, почему существуют таймеры. Таймеры обычно запускают событие или вызывают делегата, когда они истекают. Вы устанавливаете таймер так, чтобы его событие или делегат обновляли базу данных или вызывали метод, который делает это. Прочитайте документацию по предпочитаемому вами таймеру, чтобы узнать подробности.

Пример таймера на основе событий: http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx

Пример таймера на основе делегата: http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

...