以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  本机系统时间还是服务器时间问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56622)

--  作者:jiangxun
--  发布时间:2014/9/10 3:03:00
--  本机系统时间还是服务器时间问题
软件中获得的都是本机系统时间吗,如果某人把自己的计算机的时间调整了,考勤就乱了,怎么能够让使用一个数据库的所有客户端不收各自计算机设定时间的影响,全都使用数据库所在服务器时间,或是使用同一的网络时间。
--  作者:新福星
--  发布时间:2014/9/10 5:11:00
--  

3.15.4.2 获取SQL Server服务器时间

由于用户可以修改计算机的系统时间,所以根据系统时间进行一些条件判断,不是很可靠,存在作弊的可能。
如果你采用SQL Server作为数据源,可以用下面的代码获得SQL Server服务器的时间:

Dim cmd As New SQLCommand
Dim
dt As Date
cmd.ConnectionName = "
数据源名称"
cmd.CommandText =
"Select GetDate()"
dt = cmd.ExecuteScalar()

如果只想获得时间的日期部分,代码为:

Dim cmd As New SQLCommand
Dim
dt As Date
cmd.ConnectionName = "
数据源名称"
cmd.CommandText =
"Select GetDate()"
dt = cmd.ExecuteScalar()
dt = dt.
Date


--  作者:jiangxun
--  发布时间:2014/9/10 21:20:00
--  
谢谢了,希望这个成为标准做法,取本机的时间真的影响群体使用和恶意行为。
--  作者:包头123
--  发布时间:2014/9/11 8:14:00
--  
学习了。
--  作者:jiangxun
--  发布时间:2014/9/12 0:26:00
--  

你客气,我希望获得服务器端不带毫秒的纯“时间”值(hh:mm:ss),用什么函数呢,我用了CURTime(),但是提示没有这个函数,希望指导


--  作者:有点甜
--  发布时间:2014/9/12 9:04:00
--  
以下是引用jiangxun在2014-9-12 0:26:00的发言:

你客气,我希望获得服务器端不带毫秒的纯“时间”值(hh:mm:ss),用什么函数呢,我用了CURTime(),但是提示没有这个函数,希望指导

 

Dim cmd As New SQLCommand
Dim dt As Date

cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()
dt = Format(dt, "hh:mm:ss")

[此贴子已经被作者于2014-9-12 9:03:48编辑过]

--  作者:jiangxun
--  发布时间:2014/9/12 22:45:00
--  
图片点击可在新窗口打开查看谢谢