Foxtable(狐表)用户栏目专家坐堂 → 自定义用户管理例子中的这个情况怎么解决?


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

主题:自定义用户管理例子中的这个情况怎么解决?

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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
自定义用户管理例子中的这个情况怎么解决?  发帖心情 Post By:2010/6/3 20:49:00 [只看该作者]

例子中事先都有用户,所以打开项目时没有任何问题,但是如果事先到Access数据源中把所有用户名都删除掉,再打开项目就会出现问题。原因是项目代码中没有考虑到没有用户的情况。在实际发布项目时,开发者不会给用户定义几个用户不用的名称的。另外,在项目打开出现“登录窗口”后,如果点击取消则回避了登录窗口直接进入窗口,因此此时点击“取消”按钮时应该退出项目。请高手们修改
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自定义用户登录.rar

[此贴子已经被作者于2010-6-3 21:21:18编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/6/3 21:13:00 [只看该作者]

是哪个文件呀?

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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/6/3 21:27:00 [只看该作者]

不好意思,已上传成功。另,当用户登录时,如果自己输入的用户名不在后台数据源中时,也会出错。摆弄半天,还是没有好办法,请指教。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/6/3 21:34:00 [只看该作者]

'项目AfterOpenProject事件代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT Name From {Users}"
dt = cmd.ExecuteReader()
if dt.Datarows.Count = 0 Then
    Forms("增加用户").Open()
Else
    Forms("用户登录").Open()
End If

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/6/3 21:36:00 [只看该作者]

取消按钮代码改成:

 

Syscmd.Project.Exit(False)


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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/6/3 21:45:00 [只看该作者]

“登录窗口”的“确定”按钮里如何写代码,达到:当在用户名中输入的用户名在后台数据源中找不到的情况下,如何处理?是退出还是转入“增加用户”窗口,代码怎么写


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/6/3 21:52:00 [只看该作者]

你现在用户名输入框是不允许输入的,所以你说的问题不会出现。

 

 


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


加好友 发短信
等级:三尾狐 帖子:754 积分:6991 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2010/6/3 22:01:00 [只看该作者]

如果允许输入呢

 


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


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

1、没必要允许直接输入

2、如果你一定要允许直接输入,可以在确定按钮,判断输入的用户是否存在:

 

Dim UserName As String = e.Form.Controls("UserName").Value
Dim
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

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") Then
    _UserName = UserName
    _UserGroup = dr(
"Group")
    e.Form.Close

Else

    Messagebox.show(
"密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


 回到顶部