数据库查询的一般写法:从登陆验证小案例中得到的一些启示和经验
时间:2022-03-10 17:01
这几天做了一个登陆验证的案例,主要功能就是:用户输入密码进行登陆,如果输错密码三次则15分钟内不能登陆。
这个案例确实不复杂,但是其中的逻辑第一次理解确实很别扭。
从这个小案例中,我得到了几个启示,并打算以后写类似的程序都执行此标准
1.该项目中,和sql有关的操作统统放到SqlHelper中 ---所有相同的操作都应该单独定义成一个助手类。
2.该项目中,使用了参数化查询有效防止了sql注入漏洞 ---所有关于查询的并且值由用户输入的sql语句,一律不准用字符串拼接
3.该项目中,判断用户是否存在的办法是使用SqlDataReader读取数据,然后判断dr.HasRows --- 这样做简便了查询,而且将整行的值取出,其他数据可以被另外代码使用
从这个项目中,我学到了这几点新知识
1.比较数据库中存储的时间和当前的时间相差多少分钟、多少小时、多少天……都可以使用dateDiff函数。而不需要将它取出来用.NET的DateTime类来处理(利用TimeSpan=DateTime-DateTime)
2.用户密码输错三次15分钟后的业务逻辑
窗体文件:
数据库查询的一般写法:从登陆验证小案例中得到的一些启示和经验,布布扣,bubuko.com