客户端和服务器如何保持时间上的一致啊

笑里春秋多少泪 2008-10-29 09:33:59
我现在在做一个项目,客户端的时间都使用的Now(),这样的话和服务器时间不一样,容易出问题,怎么样保持一致呢,是在程序启动时调整客户端时间,还是在程序中使用从服务器端取得的时间呢,如果使用服务器端时间,是不是在每次使用的时候都要取一下?
...全文
659 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfl2k 2008-10-29
  • 打赏
  • 举报
回复
select getdate()
  • 打赏
  • 举报
回复
问一下
Date = S_Rst(0)
Time = S_Rst(1)
可不可以直接一下就设置好的
我用DateTime好像不行
  • 打赏
  • 举报
回复
我是用的MSSQL数据库,我先试一下
饮水需思源 2008-10-29
  • 打赏
  • 举报
回复
直接取服务器时间:getdate()
hxxy1985 2008-10-29
  • 打赏
  • 举报
回复
如果你是做数据库类的话,可以利用下面的SQL得到服务器时间,然后在客户端启动时比较时间,相差大了就要求更改客户端时间,否则不允许启动即可。
select getdate(); (MSSQL数据库)
select sysdate from sys.dual;(ORACLE数据库)
如果是普通的软件的话,可以考虑使用SHELL命令得到服务器时间
net time "\\OhterComputerName" /set /yes
jhone99 2008-10-29
  • 打赏
  • 举报
回复
oracle的

Private Sub System_Date_Time_Set()
dim cn as new adodb.connection
Dim S_Rst As New ADODB.Recordset
Dim S_Sql As String

P_Connect.CursorLocation=adUseClient
P_Connect.open ""

S_Sql = "Select To_Char(SYSDATE,'yyyy-mm-dd') " & _
" , To_Char(SYSDATE,'hh24:mi:ss') " & _
" From Dual "

S_Rst.Open S_Sql, cn

Date = S_Rst(0)
Time = S_Rst(1)

S_Rst.Close
cn.close
set cn = nothing
Set S_Rst = Nothing

End Sub
tongnaifu 2008-10-29
  • 打赏
  • 举报
回复
个人感觉最好是服务器时间,这样客户端都从服务器取数据,能保持时间一致。
如果时间是要保存在数据库里,你可以设置时间列的默认值使用当前时间,这个时间应该是服务器时间吧,没有测试过。
  • 打赏
  • 举报
回复
麽样搞阿
jhone99 2008-10-29
  • 打赏
  • 举报
回复
开机自动运行一个小程序,查询服务器的时间并按修改时间

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧