Сохранить для доступа к базе данных в 8 вечера или в определенное время - PullRequest
0 голосов
/ 07 октября 2018

Мне нужно сохранить в базу данных в определенное время в 8 вечера, я не могу сохранить его ..

Public Sub updateDatabase(ByVal data As String) // update database using this function
    With txtIn //textbox 

            'Dim con As OleDbConnection = New OleDbConnection("D:\POLI\SEM 5\PROJECT\Monitoring PH and Temperature\Monitoring PH and Temperature\PHTempdb.mdb")
            'Dim sql2 As String = String.Empty

            Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\POLI\SEM 5\PROJECT\Monitoring PH and Temperature\Monitoring PH and Temperature\PHTempdb.mdb") //database 

            'Dim dateTime.Now As String = Date 
            Dim date1 As Date = DateTime.Now

            Dim str As String = date1.ToString("yyyy/MM/dd")
            Dim insert As String = "INSERT INTO report (PHVALUE_TEMPERATURE, DATE_TIME) VALUES ('" & data & "', '" & DateTime.Now & "');"

            Dim cmd As New OleDbCommand(insert, conn)
        conn.Open()

        If (DateTime.Now.Hour = 20 & DateTime.Now.Minute = 00) Then //save at 8 pm daily

            cmd.ExecuteNonQuery() // execute 
        End If

        System.Threading.Thread.Sleep(5000)
        '.Clear()
        'cmd.ExecuteNonQuery()
        conn.Close()
        ' End If
        '.Clear()
    End With
End Sub
Private Sub SerialPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles sp.DataReceived
    Dim str As String = sp.ReadExisting()
    Invoke(myDelegate, str)
    updateDatabase(str)


End Sub

1 Ответ

0 голосов
/ 07 октября 2018

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

Учитывая запланированное время и текущее время , вы можете использовать DateDiff, чтобы вычислить количество секунд с текущего момента, и умножитьна 1000 для получения миллисекунд.

Вы можете найти подробные инструкции по использованию таймера здесь и здесь .


Примечания

  • В начале процедуры, вызванной событием таймера, установите для свойства Enabled значение False, чтобы остановить повторный запуск процедуры.(Установка интервала на 0 делает не причиной остановки таймера.)
  • Поскольку интервал таймера был установлен относительно текущего времени , его нельзя «использовать повторно», но если вы хотите автоматически запланировать процедуру на следующий день, вы можете просто пересчитать количество миллисекунд и сбросить таймер в конце выполнения вашей процедуры.
  • Максимальное значение для Interval составляет 2 147 483 647 миллисекунд, поэтому самое позднее в будущем вы можете установить расписание, используя этот метод, около 25 дней .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...