下面是公司的代码,调整成ADO控件,给你参考一下:
function GetNetDate: TDateTimebegin
with TADOQuery.Create(nil) do
begin
try
Connection := ADOConnection1 // 绑定数据库连接对象
if Self.DBEService.DBType = dtMSSQL then // 这里你自己处理一下,公司代码的意思是,如果当前数据库是MSSQL Server
SQL.Add('SELECT GETDATE() AS CURDATE ')
else Self.DBEService.DBType = dtOracle then // 如果当前数据库是Oracle
SQL.Add('SELECT SysDate AS CURDATE FROM DUAL ')
Open
Result := FieldByName('CURDATE').AsDateTime
finally
Free
end
end
end
简单的说,MSSQL数据库,使用“Select GetDate() ”这样的SQL语句获取数据库服务器时间,而Oracle则使用“Select SysDate”这样的SQL语句。
如果要实时显示服务器时间,最好先同步服务器时间,然后用timer显示本地时间。1、获取服务器时间
如果取数据服务器时间,可以用sql取,如oracle的sysdate。。。select sysdate from dual
如果取应用服务器时间,可以在服务器写个远程方法取服务器本地时间 如:now,,然后客户端调用
2、客户端同步服务器时间 uses windowssetsystemtime()
3、timer定时刷新本地时间
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)