以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自定义用户的登录判断 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=18927) |
-- 作者:jaegea -- 发布时间:2012/4/21 17:46:00 -- 自定义用户的登录判断 自定义用户管理中,在用户登录的“确定”按钮中,怎样在登录之前进行对输入的用户名的判断,如无此用户名返回一个信息提示,以下代码只能是判断空值,如果输入的不是空值,但用户表中无此用户名的话就会出现程序错误。说明一下,输入框必须支持手工输入的。
Dim UserName As String = e.Form.Controls("UserName").ValueDim cmd As New SQLCommand Dim dt As DataTable Dim dr As DataRow cmd.ConnectionName = "User" If UserName = "" Then Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If cmd.CommandText = "Select * From {Users} Where [Name] = \'" & UserName & "\'" dt = cmd.ExecuteReader dr = dt.DataRows(0) If e.Form.Controls("PassWord").Value = dr("Password") Then _UserName = UserName _UserGroup = dr("Group") e.Form.Close Else Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If |
-- 作者:blackzhu -- 发布时间:2012/4/21 18:04:00 -- 那你在输入的时候判断一下呗. |
-- 作者:jaegea -- 发布时间:2012/4/22 12:43:00 -- 就是不知道怎么判断才问呀 |
-- 作者:布莱克朱 -- 发布时间:2012/4/22 19:50:00 -- 怎么判断,上面的代码就可以用的呀,你把事件位置动动就可以了. |
-- 作者:jaegea -- 发布时间:2012/4/23 11:57:00 -- 已經搞定,不是移什麼位置,是要再加一個判斷
Dim UserName As String = e.Form.Controls("UserName").Value
Dim dr2 As DataRow
dt = cmd.ExecuteReader dr = dt.DataRows(0) If e.Form.Controls("PassWord").Value = dr("Password") Then _UserName = UserName _UserGroup = dr("Group") e.Form.Close Else Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If
Else
[此贴子已经被作者于2012-4-23 11:57:39编辑过]
|
-- 作者:blackzhu -- 发布时间:2012/4/23 12:15:00 -- 呵呵,不做解释,如果这样,意义就不大了. |