how can i access Time from Server, i am using ADODB in VB6.0 and
Sql Server 8.0.
abhay_fgr 0 Newbie Poster
techniner 2 Posting Pro
API DECLARTIONS
Option Explicit
'API Structures
Type TIME_OF_DAY_INFO
tod_elapsed As Long
tod_msecs As Long
tod_hours As Long
tod_mins As Long
tod_secs As Long
tod_hunds As Long
tod_timezone As Long
tod_tinterval As Long
tod_day As Long
tod_month As Long
tod_year As Long
tod_weekday As Long
End Type
'NetAPI Calls
Public Declare Function NetRemoteTOD Lib "netapi32.dll" (yServer As Any, pBuffer As Long) As Long
Private Declare Function NetApiBufferFree Lib "netapi32.dll" (ByVal pBuffer As Long) As Long
'Kernel API Calls
Private Declare Sub CopyMem Lib "kernel32.dll" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)
MODULE
'Return the Time and Date of a specified Machine on the Net
Public Function GetRemoteTime(ServerName As String) As Date
Dim lpBuffer As Long
Dim t_struct As TIME_OF_DAY_INFO
Dim ret As Long
Dim bServer() As Byte
If Trim(ServerName) = "" Then
'Local machine
ret = NetRemoteTOD(vbNullString, lpBuffer)
Else
'Check the syntax of the ServerName string
If InStr(ServerName, "\\") = 1 Then
bServer = ServerName & vbNullChar
Else
bServer = "\\" & ServerName & vbNullChar
End If
ret = NetRemoteTOD(bServer(0), lpBuffer)
End If
CopyMem t_struct, ByVal lpBuffer, Len(t_struct)
If lpBuffer Then
Call NetApiBufferFree(lpBuffer)
End If
GetRemoteTime = DateSerial(t_struct.tod_year, t_struct.tod_month, t_struct.tod_day) + TimeSerial(t_struct.tod_hours, t_struct.tod_mins - t_struct.tod_timezone, t_struct.tod_secs)
End Function
Usage
'Get the time and date of the local machine
Private Sub Command1_Click()
MsgBox GetRemoteTime("")
End Sub
'Get the time and date a remote Workstation
Private Sub Command2_Click()
MsgBox GetRemoteTime("\\MYWORKSTATION")
End Sub
shashikanth 0 Newbie Poster
API DECLARTIONS
Option Explicit 'API Structures Type TIME_OF_DAY_INFO tod_elapsed As Long tod_msecs As Long tod_hours As Long tod_mins As Long tod_secs As Long tod_hunds As Long tod_timezone As Long tod_tinterval As Long tod_day As Long tod_month As Long tod_year As Long tod_weekday As Long End Type 'NetAPI Calls Public Declare Function NetRemoteTOD Lib "netapi32.dll" (yServer As Any, pBuffer As Long) As Long Private Declare Function NetApiBufferFree Lib "netapi32.dll" (ByVal pBuffer As Long) As Long 'Kernel API Calls Private Declare Sub CopyMem Lib "kernel32.dll" Alias "RtlMoveMemory" (pTo As Any, uFrom As Any, ByVal lSize As Long)
MODULE
'Return the Time and Date of a specified Machine on the Net Public Function GetRemoteTime(ServerName As String) As Date Dim lpBuffer As Long Dim t_struct As TIME_OF_DAY_INFO Dim ret As Long Dim bServer() As Byte If Trim(ServerName) = "" Then 'Local machine ret = NetRemoteTOD(vbNullString, lpBuffer) Else 'Check the syntax of the ServerName string If InStr(ServerName, "\\") = 1 Then bServer = ServerName & vbNullChar Else bServer = "\\" & ServerName & vbNullChar End If ret = NetRemoteTOD(bServer(0), lpBuffer) End If CopyMem t_struct, ByVal lpBuffer, Len(t_struct) If lpBuffer Then Call NetApiBufferFree(lpBuffer) End If GetRemoteTime = DateSerial(t_struct.tod_year, t_struct.tod_month, t_struct.tod_day) + TimeSerial(t_struct.tod_hours, t_struct.tod_mins - t_struct.tod_timezone, t_struct.tod_secs) End Function
Usage
'Get the time and date of the local machine Private Sub Command1_Click() MsgBox GetRemoteTime("") End Sub 'Get the time and date a remote Workstation Private Sub Command2_Click() MsgBox GetRemoteTime("\\MYWORKSTATION") End Sub
This code is running in NT, XP machine. but when exe in executed from win98 then database in updating the field with 01-01-1900. Please help me how to get time from server when we r working in win98
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.