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


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

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

帅哥哟,离线,有人找我吗?
小猪鑫鑫
  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(
)

 

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


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


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

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

 


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

 

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


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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
小猪鑫鑫
  4楼 | 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 即可,但问题不是这个,如果我系统中有很多地方要用到服务器时间,那怎么办来引用服务器的时间呢,不用每次都要写一段代码吧

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 11:13:00 [显示全部帖子]

两位老师:如果系统中有100个地方要用到服务器时间的,难道要写100次这个提取服务器时间的代码吗?不能用变量什么的吗?

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 11:17:00 [显示全部帖子]

哦,明白了,谢谢两位老师

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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 14:35:00 [显示全部帖子]

  ISY老师:

Dim cmd As New SQLCommand

Dim sdt As Date

cmd.C

cmd.CommandText = "Select GetDate()"

sdt = cmd.ExecuteScalar()

然后我写一段代码,里面用到DateDiff函数

DateDiff(n, 接收时间,sdt)> 5     ‘我想用服务器的时间,但系统显示说没有sdt此列

DateDiff(n, 接收时间, GetDate)> 5    ‘如果改为GetDate提取系统时间,就可以执行

 

我想请问用DateDiff函数,怎样引用服务器的时间,谢谢!


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 14:42:00 [显示全部帖子]

BIN老师:这个不是提取的系统的时间吗?

DateDiff(n, 接收时间, GetDate)> 5  这个就是获取服务器时间

 

难道这个就是提取的服务器的时间,那我是不是不用写下面的代码啊

 

Dim cmd As New SQLCommand

Dim sdt As Date

cmd.C

cmd.CommandText = "Select GetDate()"

sdt = cmd.ExecuteScalar()


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


加好友 发短信
等级:四尾狐 帖子:832 积分:5867 威望:0 精华:6 注册:2011/5/27 11:41:00
  发帖心情 Post By:2014/5/6 14:50:00 [显示全部帖子]

哦,明白了,谢谢

 回到顶部