Foxtable(狐表)用户栏目专家坐堂 → 关于登录界面设计的问题


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

主题:关于登录界面设计的问题

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


加好友 发短信
等级:狐精 帖子:3360 积分:24792 威望:0 精华:0 注册:2012/3/26 21:47:00
关于登录界面设计的问题  发帖心情 Post By:2012/3/31 21:35:00 [只看该作者]

昨天学习了下自定义用户管理与权限 有个问题想请教下各位  我只想自定义一个登录和载入界面 用户和权限管理用系统自带的请问要如何设计?

  还有个问题 我按照帮助设计了登录界面 除了数据源直接用的是SQL数据表意外 其他都是按照帮助操作的 其他功能都正常 就是登录的时候 总是提示密码错误  我检查了下代码和数据库实在发现不了问题 请教各位

 

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)
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

 


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


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

代码看不出有问题。

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


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

检查一下数据源中表列名称的大小写是否和代码中的一致。


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


加好友 发短信
等级:狐精 帖子:3360 积分:24792 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2012/3/31 22:05:00 [只看该作者]

代码大小写应该没问题 因为可以把用户添加到数据表中 读取也是正常 就是验证这里出问题了 不知道是因为什么设置不对


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/3/31 23:27:00 [只看该作者]

把您自己定义的变量  UserName改一下,和 系统变量同名了,是不是第一个  UserName前面应该带下划线?您和帮助文件对比一下!
[此贴子已经被作者于2012-3-31 23:28:34编辑过]

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


加好友 发短信
等级:狐精 帖子:3360 积分:24792 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2012/4/1 7:28:00 [只看该作者]

代码是直接复制帮助文件的 其他控件的属性也和foxtable的演示文件作了对比 没有发现问题 非常不解啊只是在 登录窗口的afterload事件里 发现一个问题 如果数据库内容为空就会出现报错 是不是和这个有关?

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox = e.Form.Controls("UserName")
cmd.C
cmd.CommandText = "SELECT DISTINCT Name From {Users}"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.Datarows
   cmb.Items.Add(dr("Name"))
Next
cmb.SelectedIndex = 0

 如下提示


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/4/1 7:51:00 [只看该作者]

if  dt.datarows.Count > -1

     cmb.SelectedIndex

end if


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


加好友 发短信
等级:狐精 帖子:3360 积分:24792 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2012/4/1 8:16:00 [只看该作者]

找到原因了 在项目属性

BeforeConnectOuterDataSource

里面要添加代码 If e.name = "User" Then
    e.C & e.ProjectPath & "用户.mdb;Persist Security Info=False"
End If

 

但我用的是SQL的数据表 要怎么设置

 

 

我将代码改成

 

If e.name = "User" Then e.ConnectionString = "Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=htsywlgl;Data Source=192.168.1.160,900“

endif

然后数据源设成SQL User 但是登录的时候可以取到用户名 验证密码的时候就会提示密码不正确 如果按照foxtable的案例设成access的数据源就不会出错 非常不解 难道

BeforeConnectOuterDataSource

这里的代码要制定数据表吗?那要怎么设置?请教各位
[此贴子已经被作者于2012-4-1 8:54:21编辑过]

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


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

没有明白你的问题,这是针对数据源的,不需要指定表,最多是根据数据源的名称来设置不同的连接字符串。

 


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


加好友 发短信
等级:狐精 帖子:3360 积分:24792 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2012/4/1 10:12:00 [只看该作者]

我的问题大概是这样的  我参照帮助里的自定义用户权限 操作了一遍一切OK  现在我将帮助里用的access 用户.mdb 想换成SQL里的user.dbo 其他功能都正常 就是在登录验证的时候老是提示密码不正确 一直没找到原因


 回到顶部
总数 16 1 2 下一页