Foxtable(狐表)用户栏目专家坐堂 → 提取服务器时间的问题


  共有4861人关注过本帖树形打印复制链接

主题:提取服务器时间的问题

帅哥哟,离线,有人找我吗?
小猪鑫鑫
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
提取服务器时间的问题  发帖心情 Post By:2014/5/6 10:22:00 [只看该作者]

狐爸:帮助中的提取服务器时间的代码,为什么我在使用中发现提取的还是自己电脑上的时间呢?

获取SQL Server服务器时间

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

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

 

我按照这个代码测试的时间还是自己电脑时间,请问是什么情况?


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/6 10:29:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()
Output.Show("服务器时间: " & dt & " 本机时间: " & Date.Now)

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/6 10:29:00 [只看该作者]

测试结果,正确,钉是钉,铆是铆。

 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 10:52:00 [只看该作者]

ISY老师:我想问题出在再次引用服务器时间上

 


图片点击可在新窗口打开查看此主题相关图片如下:clip_image002.jpg
图片点击可在新窗口打开查看

 

这是我测试结果,但如果我再引用一下服务器的时间的话,它就变成我的本机时间了,请问我怎么引用服务器时间,同时系统中很多地方用到服务器时间,我怎么解决,谢谢指教!


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/6 10:58:00 [只看该作者]

你引用DT即可.你用DT.NOW做什么?

 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 11:02:00 [只看该作者]

呵呵,大佬:以前没发现这个问题,因为我引用的只要日期信息,现在我需要日期加时间信息了,一搞就发现出了问题,请问怎么办啊

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/6 11:03:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()
Output.Show("服务器时间: " & dt & " 本机时间: " & Date.Now)
Dim xxdt As Date = dt
Output.Show(xxdt)

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/6 11:05:00 [只看该作者]

哪个地方需要系统时间,就在哪个地方重新获取。


 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 11:08:00 [只看该作者]

BIN老师:OK,是我这里出了问题,不该有dt.now,直接用dt 即可,但问题不是这个,如果我系统中有很多地方要用到服务器时间,那怎么办来引用服务器的时间呢,不用每次都要写一段代码吧

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/6 11:10:00 [只看该作者]

要想只获取时间信息:

Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()
Output.Show("服务器时间: " & dt & " 本机时间: " & Date.Now)
Dim xdt As Date = TimeValue(dt)
Output.Show(xdt)


 回到顶部
总数 22 1 2 3 下一页