Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义窗口问题


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

主题:[求助]自定义窗口问题

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


加好友 发短信
等级:幼狐 帖子:151 积分:1254 威望:0 精华:0 注册:2012/5/29 16:50:00
[求助]自定义窗口问题  发帖心情 Post By:2012/8/13 0:25:00 [只看该作者]

      我想要的效果是这样的,我做的系统的像网站一样,用户名是有管理员管理的,每个用户名绑定一台电脑,我在users表中加了一列”MAC“用于保存主板信息,有系统自带的变量ComputerId,获取, 甚至不需要“用户管理窗口“,直接在Users表中,添加,清除密码,清除绑定的主板信息,用户名是管理员人工派发的,只要一个登陆窗口就行了。

     设计思路,登录窗口还是帮助里的不变,确定代码如下:
   1,用户名是否为空,
不为空,查找到到一行,
2,判断MAC是否为空,如果为空,获取的ComputerId值,保存在MAC中,
如果MAC不为空,判断密码是否为空,
如果为空,把为本框的密码保存在password中,
密码不为空时,判断密码是否正确。。。和帮助一样了

不知道ComputerId可以直接用吗?在保存数据的代码,提示代码出错,原代码是3列数据,我设计的每次保存一列,把其他列剪掉后,不知道怎么改? 另外其他的还有错吗?


Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.C
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)
     Dim nm As String  = ComputerId
If dr("MAC")= "" Then        判断主板信息是否存在 
      cmd.CommandText = "Insert Into {Users} ([MAC]) Values ('"
      cmd.CommandText = cmd.CommandText & nm & "')"
Else

    If nm = dr("MAC") Then   对主板信息判断
         If dr("Password")= "" Then 
                 cmd.CommandText = "Insert Into {Users} ([Password]) Values ('"
                 cmd.CommandText = cmd.CommandText & Passwod & "')"
            Else
                   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
        End if

   Else
  Messagebox.show("请珍惜你的账号,不要借给他人使用","提              示",MessageBoxButtons.OK,MessageBoxIcon.Informat
 
    End if 
End if

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/8/13 7:31:00 [只看该作者]

你这个不行 添加主板信息  不判断用户名当前用户 直接写入有啥用?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/8/13 8:04:00 [只看该作者]

ComputerId不安全的,我曾经见过一家企业,10台电脑的ComputerID一模一样。

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


加好友 发短信
等级:幼狐 帖子:151 积分:1254 威望:0 精华:0 注册:2012/5/29 16:50:00
  发帖心情 Post By:2012/8/13 10:33:00 [只看该作者]

先判断的用户是否存在,不存在,返回,下面肯定存在了,然后查找到那一行,已经查找出来了,

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


加好友 发短信
等级:幼狐 帖子:151 积分:1254 威望:0 精华:0 注册:2012/5/29 16:50:00
  发帖心情 Post By:2012/8/13 18:51:00 [只看该作者]

我明白为什么上面的思路不正确了,因为查找出来的行,关闭窗口后,销毁了,写入的数据也消失了


正确的解决办法,如下,给客户一个修改密码的窗口,在修改的过程中,保存客户的主板信息,

这里有个小疏忽,就是如果客户不改密码就无法保存主板信息

 回到顶部