Foxtable(狐表)用户栏目专家坐堂 → 【登录验证】登录按钮事件代码 运行效率低……麻烦老师们看看是否可以更加简洁 高效


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

主题:【登录验证】登录按钮事件代码 运行效率低……麻烦老师们看看是否可以更加简洁 高效

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
【登录验证】登录按钮事件代码 运行效率低……麻烦老师们看看是否可以更加简洁 高效  发帖心情 Post By:2021/1/17 17:11:00 [只看该作者]

新建一窗体,有使用单位 用户名 密码  数据库源 四个输入框  有一个确定按钮   
输入四项内容之后,点确定按钮进行登录,主窗体至少需要5秒以上才能打开,麻烦各位老师看看是不是这个确定按钮代码有问题  看看有没有优化 更加简便及优化

主窗体默认加载事件代码为空  窗体中也没有任何需要加载的数据表
确定按钮事件代码如下:(想实现当username password  所在单位  三个值在systemuser表里面对应的数据 吻合后才允许打开主窗体)

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.ConnectionName = _DATA
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
cmd.CommandText = "Sel ect * From {systemuser} Where [username] = '" & UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = dt.DataRows(0)
If e.Form.Controls("PassWord").Value = dr("Password") And e.Form.Controls("ComboBox1").Value = dr("所在单位") Then
    _UserName = UserName
    _UserGroup = dr("所在单位")
    _DATA=e.Form.Controls("ComboBox2").Value
    vars("单位")=dr("所在单位")
    e.Form.Close
    Forms("主窗口").show
Else
    Messagebox.show("所在单位或密码输入错误!,请核查!","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

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


加好友 发短信
等级:超级版主 帖子:111381 积分:566969 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/17 20:50:00 [只看该作者]

这个代码不应该有什么问题。具体请上传实例测试一下

 回到顶部