惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - 半边翅膀

我的HWAD 憋屈啊~ - 半边翅膀 - 博客园 昨天晚上受伤了~好在这次是肉体 《逍遥叹》歌词 System.Diagnostics.Process.Start(strFilePath) 两件大事 just for me busQ可以在手机上安装了,解决办法 书摘:35岁之前成功的12条黄金法则 绵阳公交查询手机版本busQ演示版放出 数据库和 MIDP,第 5 部分:搜索记录存储 数据库和 MIDP,第 4 部分:过滤和遍历策略 数据库和 MIDP,第三部分:使用数据映射 数据库和 MIDP,第二部分:数据映射 数据库和 MIDP,第一部分:了解记录管理系统 SQL就这么难装么?都装2天了 为什么感情不能像写程序那样付出就有回报? 人与自然的和谐 疑问:关于组合查询时候的方法实现?能在存储过程中综合一下吗? 51假期项目总结及遗留问题
between A and B 的困惑
半边翅膀 · 2005-05-10 · via 博客园 - 半边翅膀

今天帮同学修改一个权限验证,首先需要验证身份是否合法,再次验证时间是否合法,该系统是一个门禁系统的模拟。

环境为 pb + sql server  ,对于身份的验证那么就照一般的做法,向数据库查询是否存在 用户名=:用户名 密码=:密码的记录就可以了。但是对于时间的验证,就发生了一些小小的麻烦。

数据库中存在表  settime(begintime,endtime) ,由于我是去修改他的代码,原来他写的是

int rows = 0
datetime checktime = today()

select count(*)
into :rows
from settime
where :checktime between begintime and endtime;

我看这上面的代码,他说有错误,的确有错,因为between后面的两个应该是具体的值吧,而不是仅仅是数据库表中的字段,所以顺着这个思路,那么我就想到用个双重循环,先将settime表中的每个记录读取出来,再一个一个的比较,如果能够找到符合条件的话那么就处理其他逻辑。后来又考虑到自己对游标取记录一个一个的取好像做不出来,就又考虑怎么将数据库表中的记录放到某个数据结构中如数组啊什么的,然后再来和当前取得的时间 checktime 作一个比较,但其实这个和前面的考虑没有多少区别。

如此试验了近1个小时吧,然后有事情就离开了。

后来突然想到,作为 between and 结构,其中已知的参数应该是between前面的那个值,而后面两个应该是数据库表中的字段,我跟着原来的思路也没有考虑到这么一点,,于是就不能获得正确的解答。后来使用了 checktime > begintime and checktime <endtime 问题得到解决。

这个是再实际做东西的时候得到的教训,所以以后写sql的时候需要提醒自己,什么是已知,什么是未知。