Utilizei uma função para retornar um valor do tipo Date ex;
1:
Public Function
HorarioDB()
As Date
2:
Dim
_conexaoMySQL
As String
= "SERVIDOR_DE_CONEXAO" 3:
Dim
con
As
MySqlConnection =
New
MySqlConnection(_conexaoMySQL) 4:
Dim
sqlquery = "SELECT DATE_FORMAT(NOW(),'%d/%m/%Y %H:%i:%S')" 5: 6:
Dim
myCommand
As New
MySqlCommand(sqlquery, con) 7: con.Open() 8: 9:
Dim
T
As String
= myCommand.ExecuteScalar 10: 11:
13: con.Close() 14: 15:
'Transforma o dado recebido em String para tipo Date
16:
Dim
H
As Date
17: H = CType(T,
DateTime
) 18:
Return
(H) 19:
End Function
A formato recebido será 17/10/2017 22:11:37
Você também pode jogar essa informação dentro de um Timer para que ele continue a calcular a hora, para que você possa fazer essa conexão apenas uma vez, ex;
1:
'No Load do Form1
2: 3:
Dim
HorarioServidor
As Date
4:
Private Sub
Form1_Load(sender
As Object
, e
As EventArgs
)
Handles
MyBase.Load 5: HorarioServidor = HorarioDB()
'Aqui chamamos a função descrita acima
6: Timer1.Start() 7:
End Sub
8: 9:
'Coloque o Interval do Timer para 1000 que é igual a 1 segundo
10:
Private Sub
Timer1_Tick(sender
As Object
, e
As EventArgs
)
Handles
Timer1.Tick 11: HorarioServidor.AddSeconds(1) 12:
End Sub
Pronto, agora seu timer vai continuar a contar a data e as horas de acordo com o servidor!
O ruim de utilizar o DateTime.Now do sistema é que se o usuário mudar a hora do computador, também vai alterar a hora do sua aplicação, então o método recomendado é utilizar a hora do banco de dados.
0 comentários:
Postar um comentário